Jupyter:无法用pyodbc连接到MS SQL Server。

问题描述 投票:0回答:1

我无法在Jupyter笔记本中连接到MS SQL Server。

代码:

import pyodbc
pyodbc.drivers()

输出:

[]

什么都没有!

连接字符串。

db_connection = pyodbc.connect('Driver={ODBC Driver 17 for SQL Server};'
                               'Server=Server IP;'
                               'Database=DB_Main;'
                               'UID=DB_User;'
                               'PWD=secrets')

我使用的每一个可以想象的驱动字符串都会得到相同的基本信息:

错误:('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")

pyodbc.drivers() 没有显示任何东西,看来是安装被borked了。

更新。我无法像这里建议的那样,用INI文件的符号链接来解决。无法打开lib "ODBC Driver 13 for SQL Server"? Sym链接问题?

直接指定驱动程序,如下面的答案中所示,是什么工作。

python jupyter-notebook odbc
1个回答
1
投票

最后我不得不直接指定驱动,就像这样。

driver = '/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so'
ip = "10.10.10.1"
db_connection = pyodbc.connect(
    driver = driver,
    Server = ip,
    Port = "49189",
    Database = "project_db",
    UID = "db_user",
    PWD = "secrets" )

在服务器上安装了TDS和ODBC包,然后搜索到了 libtdsodbc.so 驱动程序使用 find. 虽然可能还有其他更简单的方法,但这一招还是很管用的。

© www.soinside.com 2019 - 2024. All rights reserved.