2011-02-08 93 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中修復。他們現在試圖發佈一個補丁