我正在从C#调用过程,并收到以下错误消息:
ERROR [22001] [IBM][AS] Conversion error on variable or parameter *N
有没有办法让DB2告诉我哪个参数是无法转换的?
DB2的加分项可以告诉我它尝试从哪种类型获取数据。
答案 0 :(得分:1)
由于此错误似乎来自您的SQL过程,因此最简单的方法是从绿屏环境中调用此过程以获取更多调试数据。您可以先从STRSQL
实用程序内部调用此过程,然后再从hit F1
on the error message调用此过程,有时您会获得比通过OLEDB传回的错误消息更多的详细信息。
如果您具有SQL过程的源代码,则可以use the STRDBG
utility to step through the SQL source code并查看其错误所在的行,并且可以在引发错误之前检查局部变量的值。这通常是找到问题所在的最彻底的方法。 Debugging an SQL routine
在一个编写良好的过程中,这种错误通常意味着“垃圾进,垃圾出”,您应该首先检查输入,但是也可能是SQL代码无法正确处理完美有效的输入,从而导致输入错误。该过程。