使用PyODBC从Linux连接到SQL Server

时间:2018-04-12 21:20:34

标签: python sql-server linux pyodbc unixodbc

我目前正在尝试使用PyODBC连接到SQL Server(我无法查看,但有凭据)。我在Windows桌面上运行的代码,但在移动到我的RedHat Linux机器上时不起作用。我需要在Linux上支持一个项目。

以下是我所拥有的:

`collect([$item])->keyBy('id')->transform(
    function($obj){ return $obj->val;
})`

这是我得到的错误:

server = 'tcp:myserver\inst1'
database = 'mydatabase'
username = 'myusername'
password = 'mypassword'

cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password)

Windows版本和Linux版本之间的一个区别是驱动程序部分。 Windows使用' {SQL Server}'而Linux版本使用' {ODBC驱动程序13 for SQL Server}'。

在我的/etc/odbcinst.ini文件中,我有以下信息:

pyodbc.OperationalError: ('HYT00', u'[HYT00] [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')

有人有任何建议吗?

1 个答案:

答案 0 :(得分:0)

使用驱动程序路径而不是驱动程序名称。在您的示例中,使用完整的 /opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.1