Чтение из временной таблицы оракула в отдельной процедуре, отличной от той, в которой она была заполнена - PullRequest
1 голос
/ 31 марта 2010

У меня есть 2 хранимые процедуры, первая создает временную таблицу оракула, а вторая читает из нее. Временная таблица имеет область действия только для этого сеанса. Я вызываю процедуры из .Net, и вторая процедура никогда не возвращает никаких результатов. Однако, если я использую те же самые sprocs и параметры в SQL * Plus, он работает нормально.

Я пытался создать объект транзакции Oracle и надеялся, что смогу прочитать таблицы, продолжая использовать ту же транзакцию - пытаясь эмулировать среду одиночного соединения типа SQL Plus.

Есть идеи, что я делаю не так?

Ответы [ 2 ]

3 голосов
/ 31 марта 2010

Существует несколько способов подключения к Oracle из .Net, но в целом я предполагаю, что в какой-то момент вы создаете объект Connection и используете его для генерации команд и т. Д. Вам необходимо повторно использовать этот объект Connection между двумя звонками. Это может означать передачу объекта Connection или использование какого-либо одноэлементного шаблона для его извлечения.

0 голосов
/ 31 марта 2010

Используйте PRESERV ON COMMIT при создании вашей GLOBAL TEMPORARY TABLE, иначе таблица будет очищаться после каждой фиксации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...