ORACLE函数中有一个游标,我正在使用该函数的参数动态生成该游标。
我定义了光标的文本,在某些情况下,我包括以下语句:
sql_stmt := sql_stmt || 'AND MOD ( LOG_ID, :logsetmax ) = :logset ';我在使用ORACLE open -FOR- the语句(例如:logsetmax设置为3和:logset设置为0)中打开游标并传递参数。
当我的程序包括程序上方的约束时,我的程序挂起,得到ORA-03113和ORA-03114错误。
ORACLE是否阻止我将:logsetmax (与使用一起传入)的游标参数绑定到我的游标声明的MOD函数中,并导致这种不可预测的行为?
我怀疑我的错误是由一个导致ORACLE连接超时的非绑定参数除以零造成的?
如有任何建议,将不胜感激。
更新
作为一种实用的解决方案,我修改了SQL以从游标绑定中删除这些约束,并将它们硬编码到SQL中,如下所示:
sql_stmt := sql_stmt || 'AND MOD ( LOG_ID, ' || p_logsetmax || ' ) = ' || p_logset || ' ';发布于 2010-02-01 09:50:53
ORA-03113:通信通道上的文件端错误是一个通用错误.连接时的ORA-03113错误表明连接已经建立,但后来丢失了,就像超时一样。
造成ORA-03113错误的原因很多.
对于上述任何一种情况,都可以发出ORA-3113信号:
行动:有一个通信错误,需要进一步调查。首先,检查网络问题并检查SQL*Net设置。此外,查看alert.log文件中是否有任何错误。最后,测试服务器进程是否已死,以及是否在故障时生成跟踪文件。
来源: ora-code.com
https://stackoverflow.com/questions/2175599
复制相似问题