我无法在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链接问题?
直接指定驱动程序,如下面的答案中所示,是什么工作。
最后我不得不直接指定驱动,就像这样。
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
. 虽然可能还有其他更简单的方法,但这一招还是很管用的。