ODP.net通用SQL问题并返回Oracle错误3111 -更好的处理方式



在使用ODP.net编写托管插入时,如果插入(参数方法)有任何问题,我会抛出一个非常通用的错误,我认为这只是oracle让我知道它已经停止了。没有内部跟踪。

ORA-03111:通信通道收到中断

我可以查看日志,这是非常痛苦的,但有没有一种方法可以得到实际的真实错误背后的东西?例如,我跟踪它到一个列上的字符溢出。源数据很混乱,我已经做了很多清理工作,但我不能完全控制可能出现的内容。抛出一个可行的错误,指出真正的问题将是非常有用的:)谢谢。

好吧,我想我只是需要离开一下。当我把它封装在try/catch中并捕获ORACLEEXCEPTION时,它给了我更好的信息。

         try
            {
                cmd.ExecuteNonQuery();
            }
            catch (OracleException e)
            {
                Console.WriteLine(e);
            }
            catch (Exception e)
            {
            }

消息现在是这样的:ORA-12899:列"zschema"."UPLOAD_V_I"的值太大。"COUNTY"(实际值:15,最大值:3)"

最新更新