通过pyodbc在OSX上的连接问题

问题描述:

我想写一个python应用程序(python 3.5与pyCharm IDE),把多个查询,做数学等......它需要在Mac和Windows上运行。在Windows端因为pymssql将无法正常工作,我试图pyodbc工作完美(这是在mac端相反)。但在MAC侧每当我试图用这个代码连接:通过pyodbc在OSX上的连接问题

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。我在系统范围内使用实际的SQL Server驱动程序。

所以请指导我使用实际的SQL Server驱动程序(这是付费版本)或正确配置python或unixodbc(不知道是哪个问题)来解决此问题。谢谢你,至于

PS:我安装了pyodbc,通过PIP的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

请问您更新您的问题,添加以下命令的输出? (1)'odbc_config --version'(2)'odbc_config --odbcini'(3)'odbc_config --odbcinstini'(4)'odbc_config --prefix'(5)'odbc_config --libs'(6)'odbc_config --ulen'(7)'cat $(odbc_config --odbcinstini)' – mauro

+1

OK。我建议在odic.ini中创建一个DSN,并首先用'isql '测试ODBC层。如果这是好的,那么我的第二个测试是使用相同的DSN连接使用pyodbc。 – mauro

+0

我重新安装了brew安装freetds --with-unixodbc命令,并为我做了诡计。在此之前,我尝试了你的建议,但它仍然给了我同样的错误。顺便说一下,当我使用上面的代码创建丢失的文件。感谢您的支持 – fuzunspm

卸载并使用此命令重新安装固定的问题:

brew install freetds --with-unixodbc 
+0

先卸载pyodbc库,然后再次安装该库?或者你的意思是首先卸载unixodbc? – alwaysaskingquestions