Linux Open Suse" pyodbc.Error:(' 01000'," [01000] [unixODBC] [Driver Manager]无法打开lib' SQL Server&#39 ;:找不到文件(0)(SQLDriverConnect)")"

时间:2016-11-24 11:18:59

标签: sql-server linux

我知道之前曾问过这个问题,但我从来没有真正得到一个可以解决我问题的正确答案。我试图从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

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帮助我进行了连接,因此了解我的配置文件不正确。

  • 用于连接到安装的SQL Server的库的不同类型,这会导致冲突。

我已更正并能够连接。