无法通过 Python 连接到 SQL Server
Posted
技术标签:
【中文标题】无法通过 Python 连接到 SQL Server【英文标题】:Can not connect to SQL Server via Python 【发布时间】:2020-11-09 16:14:56 【问题描述】:这是我下面的代码,我只是试图将 df 发送到服务器,当我使用没有用户的本地服务器并通过时,相同的代码正在工作,我已经尝试了所有组合。有没有其他方法或者我错过了什么?
补充说明:SQL server 是通过公司 *** 连接的,有影响吗?
import pandas as pd
from fast_to_sql import fast_to_sql as fts
df=pd.read_excel(r'C:\Users\han.37\Desktop\test\Copy of 01012020.xlsx')
#send to SQL server
sql_conn = (
r'DRIVER=SQL Server Native Client 11.0;'
r'SERVER=GRATHDB03\REPLICA;'
r'DATABASE=DATAWRHS-PM;'
r'Trusted_Connection=yes;'
r'UID=EMEA\han.37;'
r'PWD=****;'
)
conn_db = pyodbc.connect(sql_conn)
create_statement = fts.fast_to_sql(df, "Contact Patterntest2", conn_db, if_exists="append", temp=False)
conn_db.commit()
conn_db.close()
错误是;
OperationalError: ('08001', '[08001] [Microsoft][SQL Server Native Client 11.0]SQL Server 网络接口:查找指定的服务器/实例时出错 [xFFFFFFFF]。(-1) (SQLDriverConnect); [08001] [Microsoft][SQL Server Native Client 11.0]登录超时已过期 (0);[08001] [Microsoft][SQL Server Native Client 11.0]在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。(-1)')
【问题讨论】:
当您使用 SSMS 或 Azure Datastudio 时这是否有效?还有具体的端口在哪里? SSMS 肯定不工作但不知道 azure data studio? 尝试使用IP地址连接。顺便说一句,如果你的连接是可信的,你不需要指明uid/pwd 是的,我刚刚尝试了所有的组合:) 请显示您的“组合”与 IP 地址。你有一个 NAMED 实例,所以你应该用 IP 地址指明正确的端口 【参考方案1】:我就是这样做的。
import pypyodbc
cnxn = pypyodbc.connect("Driver=SQL Server Native Client 11.0;"
"Server=server_name\\SQLEXPRESS;"
"Database=TestDB;"
"Trusted_Connection=yes;")
#cursor = cnxn.cursor()
#cursor.execute("select * from Actions")
cursor = cnxn.cursor()
cursor.execute('SELECT * FROM Actions')
for row in cursor:
print('row = %r' % (row,))
# with login creds
pyodbc.connect("Driver = SQL Server Native Client 11.0;"
"Server = Server_Name;"
"Database = Database_Name;"
"username = User_Name;"
"password = User_Password;"
"Trusted_Connection = yes;")
【讨论】:
以上是关于无法通过 Python 连接到 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Swift 连接到本地 Firebase 服务器?
无法通过 java 或其他工具连接到本地 sql server sqlexpress 实例