把你的应用程序对数据库的操作的错误信息帖出来,有可能是超过了最大连接数等,要根据实践出错的信息来处理,把SQL出错的代码写出来在PL/SQL里
RAISE_APPLICATION_ERROR(-20400,sqlcmd||SQLERRM);

解决方案 »

  1.   

    DML是隐式提交的。第一个session将数据修改后,其它的session并不能查到修改后的结果,直到第一个session显式提交。此时第二个session用DML语句操作相同的数据后,第二个session就会暂停,直到第一个session显示提交。你可以在每次DML语句过后,用commit显式提交试试。
    说得不一定准确,请高手指点。
      

  2.   

    问题已经查出来!执行sql的时候出错了,导致oracle连接失败!所以需要重新连接oracle
    可是我如何判断当前数据库是连接失败的呢????
      

  3.   

    sqlcode 不能用吗?
    异常检测不到?
      

  4.   

    在程序中判断连接是否打开
    C#:if (cmd.ConnectionState==ConnectionState.Open)
    {
        //在这里可以执行.
    }
    else
    {
        //这里打开连接
    }