Oracle ODP.NET BulkCopy во временную таблицу

Я использую метод BulkCopy из ODP.NET для вставки DataTable во временную таблицу. Если временная таблица простая (без триггеров или индексов), она работает нормально, но как только я создаю индекс или триггер, я получаю ошибку «Конец файла на канале связи» в методе BulkCopy.WriteToServer(). Есть идеи, как я могу это исправить?

Спасибо!


person maephisto    schedule 08.02.2011    source источник


Ответы (4)


В случае ORA-03113: конец файла на канале связи серверный процесс, посвященный вашему сеансу, умер из-за ошибки или ошибки. Клиентский процесс обнаруживает, что серверный процесс отсутствует, и выдает сообщение ORA-03113. Серверный процесс записал свое сообщение об ошибке в файл предупреждений. Проверьте этот файл на сервере, чтобы узнать, что пошло не так. Возможно, вам придется попросить администратора базы данных сделать это за вас.

С уважением,
Роб.

person Rob van Wijk    schedule 08.02.2011
comment
ORA-03113 и ORA-00600 — это все ошибки, на которые вы не можете указать пальцем и сказать: «Сделайте это, и вы это исправите». Совет для них: «Вы должны действительно копать, потому что это, вероятно, ошибка в Oracle». - person Stephanie Page; 08.02.2011
comment
Когда я сталкивался с ORA-03113, настоящее сообщение об ошибке ждало меня в файле предупреждения. Конечно, после обнаружения реального сообщения исправить это может быть сложно или даже невозможно, но, на мой взгляд, «на самом деле копать» сформулировано слишком сильно. - person Rob van Wijk; 08.02.2011

Присоединяюсь к плакатам выше. Проверьте файл журнала предупреждений. Если вы видите там ORA-600, вам (или вашему администратору баз данных) следует обратиться в службу поддержки Oracle, поскольку вам может понадобиться исправление.

Кристиан Шей Оракул

person Christian Shay    schedule 08.02.2011

Временные таблицы в Oracle почти всегда плохая идея. Можете ли вы перепроектировать программу для использования либо обычной таблицы, либо коллекции PL/SQL?

person Jon Heller    schedule 09.02.2011

Я связался с Oracle по этому поводу. Видимо это баг, который пофиксили в 11g. Сейчас они пытаются выпустить патч

person Marius    schedule 13.02.2011