[英]Jupyter: can't connect to MS SQL Server with pyodbc
我無法在我的 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]無法打開 lib 'ODBC Driver 17 for SQL Server':找不到文件(0)(SQLDriverConnect)”)
由於pyodbc.drivers()
未顯示任何內容,因此安裝似乎已停止。
更新:我無法按照此處的建議使用 INI 文件獲得符號鏈接解決方案: Can't open lib 'ODBC Driver 13 for SQL Server'? 符號鏈接問題?
直接指定驅動程序,如下面的答案所示。
我最終不得不像這樣直接指定驅動程序:
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 包,然后使用find
搜索libtdsodbc.so
驅動程序。 盡管可能還有其他更簡單的方法,但這工作得很好。
嘗試安裝 ODBC 驅動程序 (13/17) 並且您的 pyodbc.drivers() 應該返回驅動程序信息,然后您應該可以連接。
你們中的任何人都可以幫助我在 macOS (Big Sur) 上建立連接嗎? 我已經安裝了驅動程序(用於 SQL Server 的 ODBC 驅動程序 17),但仍然出現錯誤:
OperationalError: (pyodbc.OperationalError) ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]登錄超時過期 (0) (SQLDriverConnect)')(此錯誤的背景:https://sqlalche .me/e/14/e3q8)
OperationalError: (pymssql._pymssql.OperationalError)(18456,b'DB-Lib 錯誤消息 20009,嚴重性 9:\\n無法連接:Adaptive Server 不可用或不存在(使用 pymssql)
OperationalError: (pyodbc.OperationalError) ('08001', '[08001] [Microsoft][ODBC Driver 17 for SQL Server]客戶端無法建立連接 (0) (SQLDriverConnect)')(此錯誤的背景:https:// /sqlalche.me/e/14/e3q8)
注意:我可以使用 pymssql 讀取數據,但無法使用 df.to_sql 將 Dataframe 寫入 MSSQL 服務器
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.