Python pydobc与SQL Server的连接尝试失败

问题描述

我有python代码,可以将大量CSV数据上传sql Server。由于我不明白的原因,代码继续失败。引发错误 pyodbc.OperationalError 。我已经有了一个临时修复程序,方法是重新启动(手动)并查找最后一个上载的记录,然后从那里继续上载,但这确实很糟糕。

这是错误消息:

('08S01','[08S01] [Microsoft] [sql Server的ODBC驱动程序17] TCP Provider: 连接尝试失败,因为被连接方在经过以下操作后未正确响应 一段时间,或由于连接的主机未能响应而建立的连接失败。\ r \ n (10060)(sqlExecDirectW); [08S01] [Microsoft] [用于sql Server的ODBC驱动程序17]通信链接失败(10060)')

我尝试在connect()中设置超时变量

conn = pyodbc.connect(
    r'DRIVER={ODBC Driver 17 for sql Server};SERVER=' + server_name + '; \
    Database=' + db_name + ';Trusted_Connection=yes;DATABASE=',timeout=5,autocommit=True)

问题是我不理解错误。已经建立了连接。进行了很多查询上传数据。但是突然之间连接断开了?

我该如何解决

附录: 我添加代码来捕获错误,然后重试对将数据写入表的存储过程的调用。我让它等待30秒(我尝试了5、10,现在最多30秒),然后尝试再次调用sql。在执行sql调用上继续失败:

return_key = cursor.execute(sql_str,values).fetchval()

我想,也许如果我只是等待并重试调用存储过程,它将成功。但是没有这种运气。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)