Linux 和 macOS 上的資料存取追蹤
macOS 和 Linux 上的 unixODBC 驅動程式管理員支援針對 ODBC Driver for SQL Server 追蹤 ODBC API 呼叫的進入與結束。
若要追蹤應用程式的 ODBC 行為,請編輯 odbcinst.ini
檔案的 [ODBC]
區段。 將 Trace=Yes
和 TraceFile
值設定為將包含追蹤輸出的檔案路徑。 例如:
[ODBC]
Trace=Yes
TraceFile=/home/myappuser/odbctrace.log
您也可以使用 /dev/stdout
或任何其他裝置名稱,將追蹤輸出傳送至該處,而不是傳送至持續性檔案。 使用上述設定,每次應用程式載入 unixODBC 驅動程式管理員時,即會將所有進行的 ODBC API 呼叫記錄到輸出檔案中。
完成應用程式的追蹤之後,請從 odbcinst.ini
檔案中移除 Trace=Yes
,以避免追蹤效能受到影響,並確認已移除所有不必要的追蹤檔案。
追蹤適用於所有在 odbcinst.ini
中使用驅動程式的應用程式。 若不要追蹤所有的應用程式 (例如若要避免洩漏個別使用者的敏感性資訊),您可以追蹤個別的應用程式執行個體。 使用 ODBCSYSINI
環境變數,為執行個體提供私人 odbcinst.ini
的位置。 例如:
$ ODBCSYSINI=/home/myappuser myapp
在此案例中,您可以將 Trace=Yes
新增至 /home/myappuser/odbcinst.ini
的 [ODBC Driver 17 for SQL Server]
區段。
判斷驅動程式正在使用的檔案
Linux 和 macOS ODBC 驅動程式不知道正在使用哪一個 odbc.ini
檔案,或 odbc.ini
檔案的路徑。 您可以從 unixODBC 工具 odbc_config
和 odbcinst
取得有關正在使用哪一個 odbc.ini
檔案的資訊。 您也可以從 unixODBC 驅動程式管理員文件取得這項資訊。
例如,下列命令會列印分別包含系統和使用者資料來源名稱 (DSN) 之系統和使用者 odbc.ini
檔案的位置:
$ odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/odbcuser/.odbc.ini`
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
「使用者 DSN」僅供特定使用者使用。 使用者 DSN 會儲存於使用者主目錄或子目錄中的檔案。 「系統 DSN」可供系統上的所有使用者使用,但只能由系統管理員新增、修改及移除。 如果使用者具備的使用者 DSN 與系統 DSN 具有相同名稱,則會在該使用者連線時使用使用者 DSN。 如需詳細資訊,請參閱 unixODBC 文件。