【问题标题】:Error ORA-03111 break received on communication channel在通信通道上收到错误 ORA-03111 中断
【发布时间】:2015-04-30 06:20:25
【问题描述】:

在不同服务器上从 oracle 11g 更改为 oracle 10g R1 后,我在通信通道上收到错误 ORA-03111 Break。

我使用 DotNet 框架 4.5。

我有谷歌,但没有找到任何解决方案。

【问题讨论】:

    标签: asp.net asp.net-mvc oracle entity-framework oracle10g


    【解决方案1】:

    在我的情况下(在 connection.Open() 上遇到异常),问题原来是 Oracle 服务器的版本太旧而无法使用托管提供程序。

    根据:https://community.oracle.com/thread/2528641

    ODP.NET, Managed Driver 支持连接Oracle DB server 10.2 或更高。它不支持 DB 10.1。

    【讨论】:

    • 我也这么认为。谢谢。
    【解决方案2】:

    在我的情况下,原因是 NVL 函数的输入返回了不止一行 - blabla 子查询如下:

    PROCEDURE my_procedure(c_my_cursor OUT SYS_REFCURSOR) IS
      p_my_cursor SYS_REFCURSOR;
    BEGIN
      OPEN p_my_cursor FOR
      select nvl((select blabla), 0) my_column from my_table;
      c_my_cursor := p_my_cursor;
    END smiley_alle_jurenheder;
    

    有趣的是,直接在 SQL Developer 中运行查询时,返回了正确的错误代码——“ORA-01427: single-row subquery returns more than one row”。

    【讨论】:

      【解决方案3】:

      我的问题是数据库中缺少列。它是在另一个环境中创建的。 很难找到真正的问题,因为这个错误并没有告诉我们什么。

      在其他电脑调试时,真正的问题出现了。

      希望这对某人有所帮助。

      【讨论】:

      • 我使用 Oracle.ManagedDataAccess 时的类似原因,我的情况是列名中的拼写错误。
      【解决方案4】:

      由于这是搜索此错误时的第一个 Google 搜索结果,所以我想我也会添加我的解决方案。这个错误似乎是由于各种原因突然出现的,这使得排除故障非常困难。

      我在构建一个在 MSSQL 和 Oracle 上运行的应用程序时遇到了它。启动时,它会创建一个简单的表。为了防止错误,任何现有的表都会被删除。这个多行、多命令的脚本在 MSSQL 上运行良好,但它的 Oracle 等效脚本一直返回此错误。

      当我一个一个运行命令(drop、create table、create sequence)时,我终于解决了。此外,请注意分号 (;),因为将分号 (;) 留在 DDL 语句中也会导致 ORA-03111 错误。

      回想起来,我知道在 Oracle 中一次运行多个命令很麻烦,但这个错误对于那些没有以 Oracle 的神秘方式启动的人来说毫无用处。

      【讨论】:

      • 你没有给出解决问题的方法,只是阐述了一些理论。
      • 赞成分号(;)这是我的问题。谢谢。
      【解决方案5】:

      我还有另一个原因。我正在查询 PeopleSoft,如果我在需要字符串的地方创建一个整数过滤器,我会得到这个。

      这将失败并出现 ORA-03111:

      SELECT Q.* FROM sysadm.PS_WMV_PRC_DISTRIB Q WHERE 1=1 AND PROJECT_ID = 123 
      

      虽然这很好:

      SELECT Q.* FROM sysadm.PS_WMV_PRC_DISTRIB Q WHERE 1=1 AND PROJECT_ID = '123' 
      

      这一条消息有很多用途!我希望这对某人有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-22
        • 1970-01-01
        • 2012-05-19
        • 2017-12-01
        • 1970-01-01
        • 2012-11-01
        • 2018-06-07
        相关资源
        最近更新 更多