我知道以前曾问过这个问题,但我从未真正得到能够解决我的问题的正确答案。我正在尝试从Linux Open Suse12.4计算机连接到Windows计算机上的SQL Server。
pyodbc.connect('DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=userid;PWD=password')
Run Code Online (Sandbox Code Playgroud)
我得到的确切错误如下:
pyodbc.Error :(“ 01000”,“ [01000] [unixODBC] [驱动程序管理器]无法打开lib'SQL Server':找不到文件(0)(SQLDriverConnect)“)
下面是我的odbcinst.ini文件:
[Easysoft ODBC-SQL Server]
Driver=/usr/local/easysoft/sqlserver/lib/libessqlsrv.so
Setup=/usr/local/easysoft/sqlserver/lib/libessqlsrvS.so
Threading=0
FileUsage=1
DontDLClose=1
UsageCount=2
[Easysoft ODBC-SQL Server SSL]
Driver=/usr/local/easysoft/sqlserver/lib/libessqlsrv_ssl.so
Setup=/usr/local/easysoft/sqlserver/lib/libessqlsrvS.so
Threading=0
FileUsage=1
DontDLClose=1
UsageCount=2
Run Code Online (Sandbox Code Playgroud)
这篇文章帮助我查明了我的问题。我的情况是,我已经按照这篇文章“ https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-RHEL-6-or-Centos-7 ”安装了 ODBC 驱动程序,然后转出来,我发现 DRIVER“SQL Server”在我的 ini 文件中不存在。我将连接字符串中的 DRIVER 更改为 "cnxn = pyodbc.connect("Driver={ODBC Driver 13 for SQL Server};Server=XXXXX;Database=XXX;Uid=XXX;Pwd=XXX;")" 并且它有效