Python OSX上通过pyodbc的连接问题
我正在尝试编写一个python应用程序(使用pyCharm IDE的Python3.5),它可以放置多个查询并进行数学运算等。。。它需要同时在mac和windows上运行。在windows端,由于pymssql无法工作,我尝试了pyodbc,它工作得完美无缺(在mac端则相反)。但在mac端,每当我尝试连接此代码时:Python OSX上通过pyodbc的连接问题,python,sql-server,pyodbc,freetds,unixodbc,Python,Sql Server,Pyodbc,Freetds,Unixodbc,我正在尝试编写一个python应用程序(使用pyCharm IDE的Python3.5),它可以放置多个查询并进行数学运算等。。。它需要同时在mac和windows上运行。在windows端,由于pymssql无法工作,我尝试了pyodbc,它工作得完美无缺(在mac端则相反)。但在mac端,每当我尝试连接此代码时: cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=myServerIp;DATABASE=myDatabaseName;UID=m
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=myServerIp;DATABASE=myDatabaseName;UID=myUserName;PWD=myPassword')
cursor = cnxn.cursor()
它给出的错误为:pyodbc.error:('01000',“[01000][unixODBC][Driver Manager]无法打开lib'odbc.ini”:找不到文件(0)(SQLDriverConnect)”)
通常我可以从excel或mac上的任何其他查询软件连接MS SQL。我在系统范围内使用实际的SQL Server驱动程序
因此,请指导我使用实际的SQL Server驱动程序(付费版本)或正确配置python或unixodbc(不确定是哪个问题)来解决此问题。谢谢你和问候
PS:按照文档说明,我通过pip安装了pyodbc、unixodbc和freetds
更新1:
$ 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
使用此命令卸载并再次安装修复了以下问题:
brew install freetds --with-unixodbc
您可以通过添加以下命令的输出来更新您的问题吗?(1)
odbc\u-config--version
(2)odbc\u-config--odbcini
(3)odbc\u-config--odbcinstini
(4)odbc\u-config--prefix
(5)odbc-config--libs
(6)odbc-config--ulen
(7)cat$(odbc config--odbcinstinini)
OK。我建议在odic.ini中创建一个DSN,并首先使用isql
单独测试ODBC层。如果没有问题,那么我的第二个测试将是使用相同的DSN使用pyodbc进行连接。我使用brew install freetds重新安装了—使用unixodbc命令,这就完成了。在那之前,我试过你的建议,但它还是给了我同样的错误。顺便说一下,当我使用上面的代码时,会创建丢失的文件。感谢您的支持首先卸载pyodbc库,然后再次安装该库?还是说先卸载unixodbc?