![](/img/trans.png)
[英]Connecting to MS SQL Server using python on linux with 'Windows Credentials'
[英]Connecting MS SQL Server using connectorx in python
我在尝试使用 python 中的 connectorx package 连接 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)
脚本的 Output:[2022-01-27T12:02:13Z 错误 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”登录失败。 code=18456 Traceback(最近一次调用最后):文件“”,第 1 行,在文件“ /app/path/xxxxxxxx/dev/lib/python3.8/site-packages/connectorx/init .py”中,第 118 行,在 read_sql 结果 = _read_sql( RuntimeError: Timed out in bb8
我正在使用 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)
我认为这行不通,那是针对 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,))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.