python - 无法从 python 执行两个 SQL 表的内连接,出现通信链接错误/连接写入错误
问题描述
我正在将我的模型结果部署到数据库中。我已经使用 pyodbc 连接从 SQL 读取数据。在 python 中运行 ML 模型并预测结果“ColA、ColB、ColC”。主表已经有这些值为 NULL 的列。
主表:
|Number| ColA | ColB | ColC |
|:---- |:------:| :-----:|-----:|
| 123 | NULL | NULL |NULL |
| 456 | NULL | NUL |NULL |
模型运行后,我已将预测值保存在临时表中。
温度表:
|Number| ColA | ColB | ColC |
|:---- |:------:| :-----:|-----: |
| 123 | India |2-Jan-21|10:00AM|
| 456 | USA |2-Jan-21|12:00AM|
现在我需要根据 Number 更新主表中 'ColA, ColB, ColC' 的值。
我尝试了以下查询:
statement = '''
UPDATE Maintable
SET
ColA= u.ColA,
ColB= u.ColB,
ColC= u.ColC,
FROM Maintable AS t
INNER JOIN Temptable u ON t.Number=u.Number;
'''
这给出了以下错误:
OperationalError: ('08S01', '[08S01] [Microsoft][ODBC SQL Server Driver]通信链路故障 (0) (SQLExecDirectW)')
有时会出现这个错误:
错误: ('01000', '[01000] [Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionWrite (send()). (10054) (SQLExecDirectW); [01000] [Microsoft][ODBC SQL Server Driver] [共享内存]一般网络错误。检查您的网络文档。(11)')
如果它成功运行而没有错误,当我从 Maintable 中选择 * 时,作业运行时间很长并且无法查看表。不得不强行杀死工作。
如何克服这个错误?有没有其他方法可以从 python 更新 SQL 数据?
解决方案
推荐阅读
- reactjs - 日历的回调函数未触发
- windows - 为什么这个指针会引发访问冲突?
- google-maps - Android Studio 无法从 Maven 谷歌存储库下载依赖项
- javascript - 我怎么知道函数何时超时?
- java - WELD-001409:Jersey Test 中由于模拟 bean 的依赖关系不明确
- vb.net - 尝试在 VS 2013 中打开但在 VS 2008 和 2005 中工作正常时,Crystal Report 错误缺少参数
- here-api - geocoder api 结果如何排序?
- dart - 我无法添加 Text(installedApps[index]["app_name"]) 因为 'index' 没有定义。如何添加此文本?
- javascript - 如何在Angular 2中过滤具有多个复选框的范围滑块的结果?
- mongodb - 如何使用相对于纪元时间的时间跨度过滤 mongo db 文档?