追蹤 DLL

執行追蹤的 DLL 是 ODBC 的核心元件之一。 追蹤 DLL 目前作為範例 DLL 提供於 Windows SDK 的 ODBC 元件中,過去則包含在 Microsoft 資料存取元件(MDAC)SDK 中。 因此,追蹤 DLL 的登錄檔條目、介面及範例程式碼皆可取得。 此 DLL 可由 ODBC 使用者或第三方廠商產生的追蹤 DLL 取代。 自訂的追蹤 DLL 應該與原始的樣本追蹤 DLL 命名不同。 必須在系統目錄中安裝追蹤 DLL,否則將無法載入。 驅動程式管理員不會將連線字串傳給追蹤 DLL。

追蹤 DLL 追蹤輸入參數、輸出參數、延遲參數、回傳碼及 SQLSTATE。 啟用追蹤時,驅動程式管理器會在兩個點呼叫追蹤 DLL:一次在函式進入時(參數驗證前),以及在函式返回前。

當應用程式呼叫函式時,驅動管理員會在追蹤 DLL 中呼叫追蹤函式,然後再呼叫驅動程式中的函式或處理呼叫本身。 每個 ODBC 函式都有一個對應的追蹤函數(前綴為 Trace),與 ODBC 函式相同,唯獨名稱不同。 當 trace 函式被呼叫時,trace DLL 會擷取輸入參數並回傳一個回傳碼。 由於追蹤 DLL 是在驅動程式管理器驗證參數之前被呼叫,無效函式呼叫會被追蹤,因此狀態轉換錯誤與無效參數會被記錄下來。

在呼叫追蹤 DLL 中的追蹤功能後,驅動程式管理器會呼叫驅動程式中的 ODBC 函式。 接著它會在追蹤 DLL 中呼叫 TraceReturn 。 此函式接受兩個參數:第一個是追蹤 DLL 為追蹤函式回傳的值,第二個是驅動程式回傳給驅動程式管理員的 ODBC 函式回傳碼(或者若驅動程式管理員自行處理該函式時的回傳值)。 該函式利用追蹤函數回傳的值來操作擷取的輸入參數值。 它會將 ODBC 函式回傳的程式碼寫入日誌檔(或動態顯示,若啟用此功能)。 它會解參考輸出參數指標,並記錄輸出參數值。