关闭iODBC跟踪

时间:2011-10-11 21:04:45

标签: macos odbc tracing osx-snow-leopard

我在OS X 10.6.8上再次使用iODBC来自我正在编写的C程序中的MySQL(mysql-connector-odbc-5.1.8),但跟踪所有ODBC库调用,这应该是默认情况下处于关闭状态。

我在odbc.iniodbcinst.ini中找到了一组/etc/Library/ODBC/个文件,但其中没有一个包含“Trace = yes”,并添加了{对任何这些文件中的“跟踪=否”的{1}}部分似乎没有做任何事情。我在工作目录或家庭目录中也没有任何私人[ODBC].odbc.ini文件。

我可以关闭跟踪的唯一方法是在分配连接句柄后调用.odbcinst.iniSQLSetConnectAttr()设置为SQL_ATTR_TRACE,但此时,跟踪文件{{1已经在工作目录中创建了。

任何帮助跟踪打开跟踪的位置(默认情况下它应该是关闭的),或者,如何关闭它以便永远不会创建日志文件,将不胜感激。

2 个答案:

答案 0 :(得分:0)

我不确定为什么要使用odbc而不是标准连接器,但是你是否尝试过将traceFile的选项设置为odbc.ini中的/ dev / null。如果你无法单独使用Trace = OFF,这至少可以删除文件。

[ODBC]
Trace = OFF
TraceFile = /dev/null

请不要让我的Mac在办公室进行测试,但看起来它应该可以正常工作。

答案 1 :(得分:0)

Mac OS X上ODBC的默认设置文件位于 -

/Library/ODBC/odbc.ini
/Library/ODBC/odbcinst.ini
/Users/*/Library/ODBC/odbc.ini
/Users/*/Library/ODBC/odbcinst.ini

前两个用于系统级设置和DSN;后者适用于用户级别。

一些错误的安装程序和库在 -

创建文件
/Users/*/.odbc.ini
/Users/*/.odbcinst.ini
/etc[/*]/.odbc.ini
/etc[/*]/.odbcinst.ini
/etc[/*]/odbc.ini
/etc[/*]/odbcinst.ini

这些可能会导致麻烦。此命令将显示所有可能存在问题的文件 -

sudo find / \( -name '.odbc*.ini' -or -name 'odbc*.ini' \) -ls

最好的是 -

  1. 将现有非默认文件的内容混合到默认位置,然后删除非默认文件
  2. 从错误的.odbc [inst] .ini位置创建符号链接到默认文件
  3. 更新iODBC components on your Mac
  4. 享受无故障的ODBC使用
  5. (ObDisclaimer:我是OpenLink Software的员工,负责维护和支持iODBC project,这是Apple for Mac OS X选择的ODBC驱动程序管理器,自Jaguar(10.2.x)捆绑以来。)