我正在使用ODP.NET的BulkCopy方法将DataTable插入临时表。 如果临时表很简单(没有触发器或索引),它可以工作,但是,只要我创建一个索引或触发器,我就会在BulkCopy.WriteToServer()方法中得到“通信通道上的文件结束”错误。 任何想法如何解决这个问题?Oracle ODP.NET BulkCopy临时表问题
谢谢!
我正在使用ODP.NET的BulkCopy方法将DataTable插入临时表。 如果临时表很简单(没有触发器或索引),它可以工作,但是,只要我创建一个索引或触发器,我就会在BulkCopy.WriteToServer()方法中得到“通信通道上的文件结束”错误。 任何想法如何解决这个问题?Oracle ODP.NET BulkCopy临时表问题
谢谢!
如果ORA-03113:通信通道上的文件结束,专用于会话的服务器进程因错误或错误而死亡。客户端进程检测到服务器进程缺失并引发ORA-03113。服务器进程已将其错误消息写入警报文件。检查服务器上的这个文件以找出错误。您可能不得不要求您的DBA为您做这件事。
Regards,
Rob。
我同意上面的海报。检查您的警报日志文件。如果您在那里看到ORA-600,您(或您的DBA)应该联系Oracle支持,因为您可能需要补丁。
基督教吉文 甲骨文在甲骨文
临时表几乎总是一个坏主意。您是否可以重新设计程序以使用常规表或PL/SQL集合?
我已经与Oracle联系过。显然这是一个bug,在11g中修复。他们现在试图发布一个补丁
ORA-03113和ORA-00600的错误都是你无法真正置身其中的错误,并且说'做这个,你就会修复它'。对这些人的建议是,'你必须真正挖掘这种可能性,这可能是Oracle的一个漏洞。 – 2011-02-08 15:05:16