2013-08-07 210 views
0

当我运行一个用户定义的函数DB2返回以下错误如何解决算术溢出DB2功能

SQL0802N Arithmetic overflow or other arithmetic exception occurred. 
    SQLSTATE=22003 

没有给我任何指示哪些功能是错误的来源。 db2上的任何设置,以便我可以像堆栈跟踪或更好的信息。通过查看那条消息,我不知道从哪里开始调查。

+0

是否可以与我们分享代码?或至少一个片段来重现错误。 – AngocA

+0

嗨AngocA。我没有把代码放在太大的位置,而且涉及到很多功能。最后我发现了错误(见下文),但我仍然没有找到一个简单的方法来调试它或发现它..我只是幸运。 –

回答

1

看看你的UDF的返回类型。如果它类似于Decimal(5,2),但函数试图返回比这更大的东西,它会给出这个错误。这个功能是做什么的?

您可能会尝试查看db2dump目录(〜sqllib/db2dump)中的错误日志。不知道这是否是一个被记录下来的错误。

+0

嗨。你是对的。我发现错误和一个整数和一个小数的大小错误造成的问题。不幸的是,我不得不说,我发现运气错误; db2的日志不会给出太多的指示。 –