我正在使用 ODP.NET 中的 BulkCopy 方法将 DataTable 插入到临时表中。如果临时表很简单(没有触发器或索引),它可以正常工作,但是一旦我创建索引或触发器,我就会在 BulkCopy.WriteToServer() 方法中收到“通信通道上的文件结束”错误。知道我该如何解决这个问题吗?
谢谢!
我正在使用 ODP.NET 中的 BulkCopy 方法将 DataTable 插入到临时表中。如果临时表很简单(没有触发器或索引),它可以正常工作,但是一旦我创建索引或触发器,我就会在 BulkCopy.WriteToServer() 方法中收到“通信通道上的文件结束”错误。知道我该如何解决这个问题吗?
谢谢!
在 ORA-03113: end-of-file on communication channel 的情况下,专用于您的会话的服务器进程由于错误或错误而死亡。客户端进程检测到服务器进程丢失并引发 ORA-03113。服务器进程已将其错误消息写入警报文件。检查服务器上的此文件以找出问题所在。您可能需要请您的 DBA 为您执行此操作。
问候,
罗布。
我同意上面的海报。检查您的警报日志文件。如果您在那里看到 ORA-600,您(或您的 DBA)应该联系 Oracle 支持,因为您可能需要补丁。
克里斯蒂安·谢伊·甲骨文
Oracle 中的临时表几乎总是一个坏主意。您能否重新设计程序以使用常规表或 PL/SQL 集合?
我已经就此联系了 Oracle。显然这是一个错误,已在 11g 中修复。他们现在正试图发布一个补丁