Database db2sqlcode=-805,SQLSTATE=51002,SQLERRMC=NULLID.SYSLH203 0X5359534C564C3031
我在下面得到了这个错误:Database db2sqlcode=-805,SQLSTATE=51002,SQLERRMC=NULLID.SYSLH203 0X5359534C564C3031,database,db2,sqlcode,Database,Db2,Sqlcode,我在下面得到了这个错误: com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002, SQLERRMC=NULLID.SYSLH203 0X5359534C564C3031, DRIVER=3.58.81 在某个时间点之后执行应用程序。在网络上没有得到任何有效的答案。这表明应用程序正在耗尽资源;可能是因为没有关闭连接(准备的语句太多或其他类似的编程错误) 如果您可以访问应用程序,请考虑在不需要时
com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002, SQLERRMC=NULLID.SYSLH203 0X5359534C564C3031, DRIVER=3.58.81
在某个时间点之后执行应用程序。在网络上没有得到任何有效的答案。这表明应用程序正在耗尽资源;可能是因为没有关闭连接(准备的语句太多或其他类似的编程错误)
如果您可以访问应用程序,请考虑在不需要时释放连接。否则,您需要减少对应用程序的约束。尝试增加
APPLHEAPSZ
和MAXAPPLS
,但实际上,您应该从应用程序方面对此进行调查。我在循环中使用prepareStatement而没有在循环中关闭它时出现此错误。
在循环中关闭preparedStatement解决了问题 您好,我遇到了相同的问题,我可以确认问题是使用相同的PreparedStatement进行的操作列表,该语句从未关闭。
关闭后,错误不再发生 DB2的哪个版本?您得到的原因码/其他信息是什么?列出的解决步骤是否无效<代码>-805通常表示包裹丢失;不过,我从来没有听说过它在运行时突然出现(它通常会阻止语句立即运行)。我们仍然无法找出真正的原因。因为此错误不是经常发生的。您是否碰巧在循环中创建了新的PreparedStatements?如果是这样的话,在循环之前只创建一次PreparedStatement可能是比在每个循环周期中关闭它更有效的解决方案。PreparedStatement被设置为打开一次,根据需要重复使用多次(可以是1000次)并关闭一次。也许您提交数据的频率不够高,但我不知道重用同一个PreparedStatement对象会产生怎样的错误。。。