共用方式為


追蹤 DLL

執行追蹤的 DLL 是 ODBC 的其中一個核心元件。 追蹤 DLL 目前是提供來作為 Windows SDK ODBC 元件中的範例 DLL,以前則是包含 Microsoft Data Access Components (MDAC) SDK。 因此,追蹤 DLL 有可用的登錄項目、介面和範例程式碼。 此 DLL 可由 ODBC 使用者或協力廠商所產生的追蹤 DLL 取代。 自訂追蹤 DLL 的名稱應該與原始範例追蹤 DLL 的名稱不同。 追蹤 DLL 必須安裝在系統目錄中,否則將無法載入。 驅動程式管理員不會將連接字串傳遞至追蹤 DLL。

追蹤 DLL 會追蹤輸入引數、輸出引數、延遲引數、傳回碼和 SQLSTATE。 若啟用追蹤,驅動程式管理員會在兩個時間點呼叫追蹤 DLL:一次是在輸入函式時 (在驗證引數之前),第二次則是在函式傳回之前。

當應用程式呼叫函式時,驅動程式管理員會先在追蹤 DLL 中呼叫追蹤函式,再於驅動程式中呼叫函式或是處理呼叫本身。 每個 ODBC 函式都有對應的追蹤函式 (前面會加上 Trace),此函式會與 ODBC 函式相同,但名稱會有所不同。 在呼叫追蹤函式時,追蹤 DLL 會擷取輸入引數並傳回傳回碼。 由於系統會在驅動程式管理員驗證引數之前呼叫追蹤 DLL,並追蹤不正確的函式呼叫,因此會記錄狀態轉換錯誤和不正確的引數。

在追蹤 DLL 中呼叫追蹤函式之後,驅動程式管理員會在驅動程式中呼叫 ODBC 函式。 然後,其會呼叫追蹤 DLL 中的 TraceReturn。 此函式會採用兩個引數:一個是追蹤函式的追蹤 DLL 傳回的值,一個是驅動程式針對 ODBC 函式傳回給驅動程式管理員的傳回碼 (或者,如果其處理了函式,則是驅動程式管理員本身傳回的值)。 函式會使用追蹤函式所傳回的值來操作所擷取的輸入引數值。 其會將 ODBC 函式傳回的傳回碼寫入到記錄檔中 (或者,如果功能已啟用,則會動態顯示傳回碼)。 其會針對輸出引數指標取值,並記錄輸出引數值。