我在嘗試使用 python 中的 connectorx 包連接 MSSQL Server 時遇到問題。我已經通過 MS SQL Server Management Studio 驗證了所有連接細節。我已經安裝了版本 connectorx 版本 0.2.3
import urllib.parse
import connectorx as cx
mssql_url = f"mssql://{urllib.parse.quote_plus('User ID')}:{urllib.parse.quote_plus('Password')}@Server URL:1433/Database"
query = "SELECT * FROM table"
df = cx.read_sql(mssql_url, query)
腳本輸出:[2022-01-27T12:02:13Z ERROR tiberius::tds::stream::token] 訊息=用戶“用戶 ID”登錄失敗。代碼=18456 [2022-01-27T12:02:14Z 錯誤 tiberius::tds::stream::token] 訊息=用戶“用戶 ID”登錄失敗。代碼=18456 [2022-01-27T12:02:14Z 錯誤 tiberius::tds::stream::token] 訊息=用戶“用戶 ID”登錄失敗。代碼=18456 [2022-01-27T12:02:16Z 錯誤 tiberius::tds::stream::token] 訊息=用戶“用戶 ID”登錄失敗。代碼=18456 [2022-01-27T12:02:19Z 錯誤 tiberius::tds::stream::token] 訊息=用戶“用戶 ID”登錄失敗。代碼=18456 [2022-01-27T12:02:26Z 錯誤 tiberius::tds::stream::token] 訊息=用戶“用戶 ID”登錄失敗。代碼=18456 [2022-01-27T12:02:38Z 錯誤 tiberius::tds::stream::token] 訊息=用戶“用戶 ID”登錄失敗。init .py",第 118 行,在 read_sql 結果 = _read_sql( RuntimeError: Timed out in bb8
uj5u.com熱心網友回復:
我正在使用 mysql.connector,它對我很有效:
import pandas as pd
import mysql
import mysql.connector
host = "1.1.1.1:1234"
user = "myusername";
password = "mypassword"
database = "mydb"
def load_db():
connection = mysql.connector.connect(host=host, user=user, password=password, database=database)
cursor = connection.cursor()
cursor.execute("SELECT * FROM mytable")
field_names = [i[0] for i in mycursor.description]
result = cursor.fetchall()
dataframe = pd.DataFrame(result, columns=field_names)
uj5u.com熱心網友回復:
我認為這行不通,那是 MySQL 的,你試過這個嗎:
我從這里得到: https ://qastack.id/programming/33725862/connecting-to-microsoft-sql-server-using-python
import pyodbc
cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
"Server=server_name;"
"Database=db_name;"
"Trusted_Connection=yes;")
cursor = cnxn.cursor()
cursor.execute('SELECT * FROM Table')
for row in cursor:
print('row = %r' % (row,))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422532.html
標籤:
