2011-02-08 94 views
1

我正在使用ODP.NET的BulkCopy方法将DataTable插入临时表。 如果临时表很简单(没有触发器或索引),它可以工作,但是,只要我创建一个索引或触发器,我就会在BulkCopy.WriteToServer()方法中得到“通信通道上的文件结束”错误。 任何想法如何解决这个问题?Oracle ODP.NET BulkCopy临时表问题

谢谢!

回答

2

如果ORA-03113:通信通道上的文件结束,专用于会话的服务器进程因错误或错误而死亡。客户端进程检测到服务器进程缺失并引发ORA-03113。服务器进程已将其错误消息写入警报文件。检查服务器上的这个文件以找出错误。您可能不得不要求您的DBA为您做这件事。

Regards,
Rob。

+1

ORA-03113和ORA-00600的错误都是你无法真正置身其中的错误,并且说'做这个,你就会修复它'。对这些人的建议是,'你必须真正挖掘这种可能性,这可能是Oracle的一个漏洞。 – 2011-02-08 15:05:16

0

我同意上面的海报。检查您的警报日志文件。如果您在那里看到ORA-600,您(或您的DBA)应该联系Oracle支持,因为您可能需要补丁。

基督教吉文 甲骨文在甲骨文

0

临时表几乎总是一个坏主意。您是否可以重新设计程序以使用常规表或PL/SQL集合?

0

我已经与Oracle联系过。显然这是一个bug,在11g中修复。他们现在试图发布一个补丁