gpt4 book ai didi

error-handling - DB2 - CLI0108E 通信链路故障。 SQLSTATE=40003

转载 作者:行者123 更新时间:2023-12-03 07:38:32 25 4
gpt4 key购买 nike

当我尝试重新运行针对 IBM DB2 9.1 版本的查询时,我不断收到以下错误消息。

CLI0108E 通信链路失败。 SQLSTATE=40003

查询正在更新大量记录(超过 50000 条记录)。

  • 我确实尝试将查询执行的超时更改为“0”

    但这并没有帮助。

此外,我的 db2cli.ini 文件没有任何超时详细信息。我应该在那里添加什么吗??

请指教。

最佳答案

CLI0108E 仅表示连接已断开。来自official IBM documentation of this error code :

CLI0108E Communication link failure.

Explanation The connection between the driver and the data source failed during execution of this function.

User response Establish a new connection.


SQLState (40003) 表示数据库服务器无法判断语句是否成功完成。 (SQLState 消息及其含义的文档可以在这里找到:http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=%2Fcom.ibm.db2.udb.msg.doc%2Fdoc%2Fr0sttmsg.htm

此范围内的值:

  • 40001 Deadlock or timeout with automatic rollback occurred.
  • 40003 The statement completion is unknown.
  • 40504 A system error has caused the unit of work to be rolled back.
  • 40506 The current transaction was rolled back because of an SQL error.
  • 40507 The current transaction was rolled back as a result of a failure creating an index.

CLI0108E 可能有多种原因:网络问题、客户端或服务器因超时而关闭连接、有人在计算机房踢电缆,随便你怎么说。我什至看到在我们的环境中,在特定 VM 主机上运行的虚拟服务器出现此错误,因为虚拟 NIC 卡存在问题,并且通过重新安装驱动程序得到修复。可能的原因列表非常多,但优秀的网络管理员应该能够提供帮助。 (使用嗅探器监视数据包是在所有其他方法都失败时追踪源头的好方法。)

如果可以,重构代码以上传较小的集合可能不会有什么坏处。假设您有 10,000 条记录,请尝试一次上传一千条,重复十次,看看是否有帮助。

我在服务器完全不可靠的情况下(一次)使用的另一种方法是尝试一次插入一条记录。

伪代码:(假设名为“connection”的连接对象和使用该连接的名为“cmd”的命令对象...)

connection.Open()

for each record
try
cmd.CommandText ="whatever changes need to be made"
cmd.Execute()
catch(Exception ex)
if( the exception is a communication link failure)
connection.Open()
cmd.Execute()
else
handle different errors accordingly
end if
end try

next

但这种方法存在性能问题,很困惑,并且仍然可能因尝试重新打开连接而失败。即使我在紧要关头使用过它,我也不建议长期使用它。 (一旦原始问题得到解决,我就放弃了这种方法。)您最好尝试找出连接断开的根本原因。

在您的情况下, 根本原因可能只是您尝试一次上传过多数据。我对此表示怀疑,但它可能。如果我处在您的位置,重构代码以以更小的 block 发送数据绝对是我的第一选择。

关于error-handling - DB2 - CLI0108E 通信链路故障。 SQLSTATE=40003,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13976063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com