在使用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)"