我正在编写的一个C程序中使用OSX10.6.8上的连接器,而不是MySQL (mysql-connector- ODBC -5.1.8),但是所有ODBC库调用的跟踪都是打开的,这在缺省情况下应该是关闭的。
我在/etc和/Library/ODBC/中发现了一组跟踪和跟踪文件,但它们都没有包含“odbcinst.ini = yes",并且向这些文件添加一个包含"Tracing = no”的[ODBC]部分似乎没有任何作用。我在工作目录中也没有任何私有的.odbc.ini或.odbcinst.ini文件,在我的主目录中也没有。
关闭跟踪的唯一方法是在分配连接句柄之后调用SQLSetConnectAttr()将SQL_ATTR_TRACE设置为SQL_OPT_TRACE_OFF,但此时,跟踪文件sql.log已经在工作目录中创建。
任何关于跟踪在哪里打开(默认情况下应该是关闭的)的帮助,或者如何关闭它,以便永远不会创建日志文件,都将不胜感激。
发布于 2011-11-07 22:27:26
我不知道您为什么要使用odbc而不是标准连接器,但是您是否尝试过在odbc.ini中将TraceFile的选项设置为/dev/null。如果你不能让Trace = OFF自动工作,这至少可以删除这个文件。
[ODBC]
Trace = OFF
TraceFile = /dev/null不要让我的Mac在办公室测试这个,但看起来它应该可以工作。
发布于 2012-11-06 04:51:16
Mac OS X上ODBC的默认设置文件位于--
/Library/ODBC/odbc.ini
/Library/ODBC/odbcinst.ini
/Users/*/Library/ODBC/odbc.ini
/Users/*/Library/ODBC/odbcinst.ini前两个用于系统级设置和DSN;后两个用于用户级。
一些有buggy的安装程序和库在以下位置创建文件--
/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最好的办法是
(ObDisclaimer:我是OpenLink Software的一名员工,负责维护和支持iODBC project,这是苹果为Mac选择的ODBC Driver Manager,它是从Jaguar (10.2.x)开始捆绑的。)
https://stackoverflow.com/questions/7732483
复制相似问题