У меня возникли проблемы с использованием глобальной временной таблицы Oracle на одном из наших серверов. Вот подробности того, что я пытаюсь сделать.
- Создайте оракулконнектион.
- Начните OracleTransaction с этого соединения.
- Создайте OracleCommand, чтобы вставить одно значение в глобальную временную таблицу Oracle (GTT). например вставить в MY_GTT (SOME_FIELD) значения (123);
- Зарегистрируйте указанную выше команду в транзакции и ExecuteNonQuery.
- Создайте еще одну команду OracleCommand, чтобы считать это значение из Oracle GTT. например выберите SOME_FIELD из MY_GTT;
- Зарегистрируйте вышеуказанную команду в транзакции и ExecuteReader.
- Зафиксируйте транзакцию.
Этот кейс работает на всех наших серверах, кроме одного. Что еще более странно, так это то, что этот тестовый пример работает на рассматриваемом сервере после перезапуска рабочих процессов, но последующие запросы не работают.
Так что, возможно, сервер неправильно перезапускает соединения или что-то в этом роде...