У меня проблема с простым средством импорта / обновления данных, которое берет данные из Informix, вставляет их в таблицу в Oracle и обновляет флаг в исходной таблице. Настройка это
Pro*C program calls a PL/SQL procedure
The procedure
opens a cursor on Informix,
loops through each row
insert the data into an oracle table
commit
update the "new data" flag in Informix (i.e. stop a re-import)
commit
Два коммита необходимы для остановки определенной ошибки Oracle (я забыл, какая именно, но это потому, что обновляемые таблицы находятся в двух базах данных, и один коммит не может их обработать).
Этот код отлично работает для небольшого количества записей (5-10) в исходной таблице, но падает, когда их больше 1000. В журнале предупреждений в каталоге журналов Oracle отображается ошибка «Потеряно соединение RPC с удаленным агентом». В каталоге Informix нет соответствующей ошибки, поэтому я подозреваю, что драйвер виноват. Мы используем Oracle 10.2 с драйвером unixODBC для Red Hat.
У кого-нибудь есть идеи для обхода или, действительно, как это исправить? Кажется, нет никакой полезной информации об этом сообщении об ошибке - большинство страниц просто говорят что-то вроде «Это не проблема Oracle».