在.NET中检测-301 DB2错误

问题描述:

我在VB.NET中有一个应用程序,它使用ADO.NET连接在更新语句中在DB2中生成一些-301错误。在.NET中检测-301 DB2错误

看来,DB2报告发生此错误,但随后修复了任何数据错误并重新提交。这个修复和重新提交带来了额外的开销,并且反过来也是实际的美元和美分成本,因为这是大型机DB2。

有没有办法以某种方式检测这个-301错误?我无法重现这个问题。我只知道发生这种情况是因为DB2报告发生了错误,但由于我使用了参数化查询,并且由于DB2的配置,我无法确定参数的值。

在这一点上,我认为我最好的选择是将我得到的输入序列化,然后将它们写出到xml中,当我的DBA能够告诉我什么时候发生错误时,我将采用该文件,然后在测试环境中逐个重新处理。也就是说,除非有我可以检查的内容,如返回代码,然后通过序列化有问题的对象实例发送错误电子邮件。

DB2修复并重新提交该语句听起来很奇怪!
也许在你的程序和DB2之间有一些额外的层来做到这一点?

那么,当你没有得到错误返回到你的程序,然后...
首先,你可以让你的DBA发送错误的位置号和更新声明,所以你可以看到哪主机变量是问题。
该变量可能在某些SQL函数中使用。您的DBA应该能够说出哪些数据类型在那里被允许。

这里误差电子描述链接(如果你没有的话): http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db29.doc.codes/n301.htm

我的回答是不是你要求很什么,但我不认为它可以是任何接近。

问候
        Sigersted

原因DB2 -301误差大约在这个article提到DB2错误Input host variable or argument not valid.

更多细节。