2012-05-10 68 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