OSX上的连接问题通过pyodbc

时间:2016-01-18 20:35:31

标签: python sql-server pyodbc freetds unixodbc

我正在尝试编写一个python应用程序(带有pyCharm IDE的python 3.5),它可以放置多个查询并进行数学运算......它需要在mac和windows上运行。在Windows端由于pymssql将无法工作,我尝试了pyodbc,它完美无缺(它在mac方面相反)。但每当我尝试连接此代码时,在mac端:

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=myServerIp;DATABASE=myDatabaseName;UID=myUserName;PWD=myPassword')
cursor = cnxn.cursor()

它给出了错误:pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'odbc.ini' : file not found (0) (SQLDriverConnect)")

通常我可以从excel或Mac上的任何其他查询软件连接MS SQL。我在系统范围内使用Actual SQL Server驱动程序。

因此,请指导我使用Actual SQL Server驱动程序(付费版本)或正确配置python或unixodbc(不确定哪个是问题)来解决此问题。谢谢你和问候

PS:我通过pip安装了pyodbc,unixodbc和freetds,因为我按照文档

UPDATE1:

 $ cat $(odbc_config --odbcinstini)
[ODBC]
DEBUG=1
TraceFile=/home/ftp/sqltrace.log
Trace=Yes

[FreeTDS]
Description=MSSQL Driver
Driver=/usr/local/lib/libtdsodbc.so
$ odbc_config --ulen
-DSIZEOF_SQLULEN=8
$ odbc_config --libs
-L/usr/local/Cellar/unixodbc/2.3.2_1/lib -lodbc
$ odbc_config --prefix
/usr/local/Cellar/unixodbc/2.3.2_1
$ odbc_config --odbcinstini
/usr/local/Cellar/unixodbc/2.3.2_1/etc/odbcinst.ini
$ odbc_config --odbcini
/usr/local/Cellar/unixodbc/2.3.2_1/etc/odbc.ini
$ odbc_config --version
2.3.2

1 个答案:

答案 0 :(得分:2)

使用此命令再次卸载和安装修复了问题:

brew install freetds --with-unixodbc