我已经在包上安装了iodbc(http://www.iodbc.org/dataspace/iodbc/wiki/iodbc/),并按照这里的描述设置了所有配置文件:http://blog.opensteam.net/past/2009/1/28/rails_ms_sql_on_mac/
我在一台Linux机器上安装了同样的程序,它运行得很好。在我的Mac OSX 10.6.4上,如果我测试连接,会出现以下错误:

xxx@xxx:/opt/local/include$ iodbctest "dsn=res;uid=user;pwd=pass"
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0709.0909
1: SQLDriverConnect = [iODBC][Driver Manager]dlopen(/opt/local/lib/libtdsodbc.so, 6): Symbol not found: _CreateDataSource
Referenced from: /usr/lib/libiodbcinst.2.dylib
Expected in: flat namespace
(0) SQLSTATE=00000
2: SQLDriverConnect = [iODBC][Driver Manager]Specified driver could not be loaded (0) SQLSTATE=IM003

我不知道如何调试这个:(

最佳答案

很有兴趣看看odbc.ini和odbcinst.ini文件中使用的dsn和freetds驱动程序的参数是什么?
看起来好像apple iodbc驱动程序管理器无法加载驱动程序所需的设置例程,freetds驱动程序本身也无法加载。
openlink iodbc driver manager for mac os x(apples捆绑的一个驱动程序基于此)是基于框架的,并且包含用于为那些没有内置的odbc驱动程序加载通用设置和登录对话框的例程。您可以从以下位置免费下载(因为它是开源的):
http://www.iodbc.org/downloads/iODBC/iodbc-sdk-3.52.7-macosx-10.5.dmg(适用于10.5和10.6)

关于database - iODBC在Mac OSX 10.6.4下不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3905093/

10-09 00:14