Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OSX上通过pyodbc的连接问题_Python_Sql Server_Pyodbc_Freetds_Unixodbc - Fatal编程技术网

Python OSX上通过pyodbc的连接问题

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

我正在尝试编写一个python应用程序(使用pyCharm IDE的Python3.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]无法打开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?