2012-05-10 70 views
0

它的正常工作与pyodbc:无法获得isql连接到ODBC的

pyodbc.connect('DRIVER={MySQL ODBC 3.51 Driver};SERVER=db-server;DATABASE=web;UID=tool;PWD=loot') 

但我不能让isql连接:

$ isql -v db-server tool loot 
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified 
[ISQL]ERROR: Could not SQLConnect 

$ cat /etc/odbcinst.ini 
[MySQL ODBC 3.51 Driver] 
DRIVER=/usr/lib64/libmyodbc3.so 
UsageCount=1 

我告诉ISQL使用正确的驱动程序怎么办?

回答

1

isql的第一个参数需要是存在于/etc/odbc.ini中的数据源名称。当你通过pyodbc连接时,你没有使用DSN,你正在使用DSN-less连接。在/etc/odbc.ini中用driver = MySQL ODBC 3.51 Driver创建一个名为db-server的DSN,以及mysql ODBC驱动程序需要连接的任何其他属性,然后重新运行isql。

+0

非常好,谢谢!我没有意识到与odbcinst.ini链接的odbc.ini – jdborg