ฉันต้องการสร้างไฟล์บันทึกที่มีคำสั่ง SQL ทั้งหมดที่ส่งโดย ArcGIS Server (ArcSDE) ไปยังฐานข้อมูล Oracle มีวิธีทำเช่นนั้นหรือไม่? ฉันใช้ Oracle 11g และ ArcGIS Server 10.0 บน Windows ArcSDE ใช้ในการเชื่อมต่อโดยตรง
ฉันต้องการสร้างไฟล์บันทึกที่มีคำสั่ง SQL ทั้งหมดที่ส่งโดย ArcGIS Server (ArcSDE) ไปยังฐานข้อมูล Oracle มีวิธีทำเช่นนั้นหรือไม่? ฉันใช้ Oracle 11g และ ArcGIS Server 10.0 บน Windows ArcSDE ใช้ในการเชื่อมต่อโดยตรง
คำตอบ:
จริงๆแล้วมีหลายวิธีในการติดตามการเชื่อมต่อ ArcSDE การโทรระหว่างแอปพลิเคชันไคลเอนต์และไคลเอนต์ ArcSDE ถูกบันทึกไว้ในไฟล์ SDE Trace ระหว่างไคลเอนต์ ArcSDE และเซิร์ฟเวอร์ในไฟล์ SDE Intercept เซิร์ฟเวอร์ ArcSDE จะบันทึกเหตุการณ์บางอย่างในบริการหรือบันทึกการเชื่อมต่อโดยตรงและการโทรฐานข้อมูลจะถูกบันทึกไว้ ล็อกไฟล์ DBMS
-------------------------------------------------------------
| |
| Client (ArcObject, ArcCatalog, ArcGIS Server, ArcIMS...) |
| |
-------------------------------------------------------------
|
|
\|/
------------------ --------> SDE Trace
| |
| ArcSDE Client |
| |
------------------ --------> SDE Intercept
|
|
\|/
------------------- --------> SDE Intercept
| |
| ArcSDE Server | --------> ArcSDE Service Logfile, or direct connect log
| |
-------------------
|
|
\|/
------------------
| |
| DBMS | -----------> DBMS logfiles or trace
| |
------------------
ไฟล์ ArcSDE Trace บันทึกการโทรทุกครั้งที่เรียกไปยังไคลเอนต์ ArcSDE ไฟล์เหล่านี้มักมีขนาดใหญ่และมีเสียงดัง ดูที่ SDETraceLoc และ SDETraceMode ในความช่วยเหลือ dbinit ค่าเหล่านี้ยังสามารถตั้งค่าเป็นตัวแปรสภาพแวดล้อมก่อนที่คุณจะเริ่มต้นแอปพลิเคชันซึ่งใช้ได้กับแอปพลิเคชันและการเชื่อมต่อโดยตรง
ไฟล์ดักฟัง ArcSDE มักมีประโยชน์มากกว่า พวกเขาจะแสดงเวลาที่ใช้ในการโทร คำเตือนแม้ว่า SDE จะทำงานนอกแนวคิดของสตรีม คำสั่งบางอย่าง (เช่นส่วนแทรกอัพเดตและลบ) ตั้งค่าข้อมูลในสตรีมจากนั้นเรียกใช้คำสั่ง โดยปกติหมายเลขสตรีมจะเป็นจำนวนเต็มแรกหลังจากคำสั่งในไฟล์สกัดกั้น สิ่งนี้อาจสร้างความสับสนหากคุณมีสตรีมจำนวนมาก (ฉันเห็นสตรีมมากถึง 26 สตรีม) คุณสามารถดู SDEIntercept และ SDEInterceptLoc ในวิธีใช้dbinitหรือบทความ KB นี้เกี่ยวกับไฟล์ SDE Interceptสำหรับข้อมูลและตัวอย่างเพิ่มเติม
Logfiles ของบริการ ArcSDE ในโฟลเดอร์% SDE_HOME% \ etc หรือ logfiles เชื่อมต่อโดยตรงในโฟลเดอร์% SDE_HOME% \ etc หรือ% TEMP% โฟลเดอร์มีข้อมูลทั่วไปเกี่ยวกับสิ่งที่เกิดขึ้นกับบริการหรือการเชื่อมต่อ จำนวนข้อมูลที่ถูกบันทึกสามารถเพิ่มขึ้นได้ด้วยตัวแปรSDEVerbose ( dbinit ช่วย )
DBMS logfiles และการติดตามมีประโยชน์มาก แต่พวกเขาให้คุณเป็นส่วนหนึ่งของภาพเท่านั้น นอกจากนี้บางฐานข้อมูล (เช่น Oracle) ไม่ได้รวมข้อผิดพลาดทุกประเภทในการติดตาม DBMS มีหลายวิธีในการเปิดใช้งานการติดตาม SQL ความคิดเห็นของ Devdatta ด้านบนลิงก์ไปยังข้อมูลเพิ่มเติม
ลิงค์อื่น ๆ : ขุดลึกลงไป - การแก้ไขปัญหาข้อผิดพลาดในการประมวลผลทางภูมิศาสตร์เมื่อใช้ข้อมูล ArcSDE