Linux开放式系统“pyodbc,错误:('01000 ',“[01000] [unixODBC][驱动程序管理器]无法打开库”SQL Server“:找不到文件(0)(SQLDriverConnect)”)”

cyvaqqii  于 2023-01-20  发布在  Linux
关注(0)|答案(3)|浏览(640)

我知道这个问题以前被问过,但我从来没有真正得到一个能解决我问题的正确答案。我正试图从Linux Open Suse12. 4机器连接到Windows机器上的SQL服务器。

pyodbc.connect('DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=userid;PWD=password')

我得到的确切错误如下:
pyodbc.Error:('01000 ',"[01000][unixODBC][驱动程序管理器]无法打开库" 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
zvms9eto

zvms9eto1#

这篇文章帮助我找到了我的问题。我的情况是,我已经安装了ODBC驱动程序后,这篇文章“https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-RHEL-6-or-Centos-7“,原来,我发现驱动程序“SQL Server”不存在于我的ini文件。我改变了驱动程序在连接字符串为“cnxn = pyodbc.connect(“驱动程序={ODBC驱动程序13为SQL Server};服务器=XXXXX;数据库=XXX;用户ID =XXX;密码=XXX;“)”而且它起作用了

x8diyxa7

x8diyxa72#

如果您正在使用离线REHL服务器,请按照以下方法设置与MSSQL服务器连接。
第1步---从Microsoft存储库下载UNIXODBC和MSSQLTools软件包,例如:-(unixODBC-2.3.7 - 1.rh.x86_64.rpm/mssql-tools-17.9.1.1 - 1.x86_64.rpm)--(根据您的rehl版本)https://packages.microsoft.com/rhel/
步骤2---通过winscp或任何ssh客户端将下载的文件放置在rehl服务器上
步骤-3---按以下顺序安装这两个文件(百胜本地安装unixODBC-2.3.7 - 1.rh.x86_64.rpm)(百胜本地安装mssql-工具-17.9.1.1 - 1.x86_64.rpm)
第4步---进入安装文件夹并复制路径,如ex:-/opt/microsoft/msodbcsql 17/lib 64/libmsodbcsql-17.9.so.1.1所示
步骤5 --将此路径放入代码中--驱动程序路径= r”/opt/microsoft/msodbcsql 17/lib 64/libmsodbcsql-17.9.so.1.1”
你的问题就能解决。

fumotvh3

fumotvh33#

Pyodbc无法找到驱动程序= {SQL Server}使用.在我的情况下,这主要是因为我在odbcinst.ini文件和相关文件中给出的名称不正确.
请使用驱动程序=/usr/local/lib/libmsodbcsql.13.dylib;使用inconnectionuri帮助我连接并因此理解我的配置文件是不正确的。

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

我纠正了它,并能够连接。

相关问题