Linux 和 macOS 上的数据访问跟踪

下载 ODBC 驱动程序

macOS 和 Linux 上的 unixODBC 驱动程序管理器支持跟踪 ODBC Driver for SQL Server 的 ODBC API 调用入口和出口。

若要跟踪应用程序的 ODBC 行为,请编辑 odbcinst.ini 文件的 [ODBC] 部分。 将值 Trace=YesTraceFile 设置为将包含跟踪输出的文件的路径。 例如:

[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 文件的路径。 有关正在使用的 odbc.ini 文件的信息,请查看 unixODBC 工具 odbc_configodbcinst。 另外,也可以从 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 文档

另请参阅