我知道之前曾问过这个问题,但我从来没有真正得到一个可以解决我问题的正确答案。我试图从Linux Open Suse12.4机器连接到Windows机器上的SQL服务器。
pyodbc.connect('DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=userid;PWD=password')
我得到的确切错误如下:
pyodbc.Error:(' 01000'," [01000] [unixODBC] [驱动程序管理器]无法打开lib' SQL Server':文件没有found(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
答案 0 :(得分:0)
这篇文章帮我查明了我的问题。我的情况是我已经在这篇文章“https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-RHEL-6-or-Centos-7”之后安装了ODBC驱动程序,结果发现,我发现我的ini文件中不存在DRIVER“SQL Server”。我将连接字符串中的DRIVER更改为“cnxn = pyodbc.connect(”Driver = {ODBC驱动程序13用于SQL Server};服务器= XXXXX;数据库= XXX; Uid = XXX; Pwd = XXX;“)”并且它可以工作
答案 1 :(得分:0)
Pyodbc无法找到使用的驱动程序= {SQL Server}。就我而言,主要是因为我在odbcinst.ini文件和相关文件中输入的名称不正确。
代替 驱动程序= / usr / local / lib / libmsodbcsql.13.dylib;在连接中使用uri帮助我进行了连接,因此了解我的配置文件不正确。
我已更正并能够连接。