通过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
卸载并使用此命令重新安装固定的问题:
brew install freetds --with-unixodbc
先卸载pyodbc库,然后再次安装该库?或者你的意思是首先卸载unixodbc? – alwaysaskingquestions
请问您更新您的问题,添加以下命令的输出? (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
OK。我建议在odic.ini中创建一个DSN,并首先用'isql'测试ODBC层。如果这是好的,那么我的第二个测试是使用相同的DSN连接使用pyodbc。 –
mauro
我重新安装了brew安装freetds --with-unixodbc命令,并为我做了诡计。在此之前,我尝试了你的建议,但它仍然给了我同样的错误。顺便说一下,当我使用上面的代码创建丢失的文件。感谢您的支持 – fuzunspm