首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用开放使用语句的问题绑定

使用开放使用语句的问题绑定
EN

Stack Overflow用户
提问于 2010-02-01 09:09:33
回答 1查看 1.3K关注 0票数 1

ORACLE函数中有一个游标,我正在使用该函数的参数动态生成该游标。

我定义了光标的文本,在某些情况下,我包括以下语句:

代码语言:javascript
复制
      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中,如下所示:

代码语言:javascript
复制
            sql_stmt := sql_stmt || 'AND MOD ( LOG_ID, ' || p_logsetmax || ' ) = ' || p_logset || ' ';
EN

回答 1

Stack Overflow用户

发布于 2010-02-01 09:50:53

ORA-03113:通信通道上的文件端错误是一个通用错误.连接时的ORA-03113错误表明连接已经建立,但后来丢失了,就像超时一样。

造成ORA-03113错误的原因很多.

对于上述任何一种情况,都可以发出ORA-3113信号:

  • 机器崩溃
  • 服务器进程在O/S级别被终止。
  • 网络问题
  • 服务器上的Oracle内部错误/中止
  • 客户端错误地处理多个连接
  • 等等。很多可能的原因

行动:有一个通信错误,需要进一步调查。首先,检查网络问题并检查SQL*Net设置。此外,查看alert.log文件中是否有任何错误。最后,测试服务器进程是否已死,以及是否在故障时生成跟踪文件。

来源: ora-code.com

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2175599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档