С помощью C# и Oracle Data Provider for .NET (ODP) я сделал длинный запрос к базе данных, затем завершаю соединение на стороне сервера с помощью TOAD. После этого последующие обращения к базе данных, даже создание нового объекта OracleConnection, выдают следующую ошибку:
ORA-01012: not logged on
Process ID: xxx
Session ID: yyy Serial number: zzz
Где идентификатор процесса и идентификатор сеанса — это идентификаторы, которые я использовал для завершения соединения.
Похоже, когда я завершаю соединение с базой данных Oracle на стороне сервера, разорванное соединение возвращается в пул соединений. И когда клиентский код C# (использующий ODP) открывает новое соединение, может быть восстановлено прерванное соединение, которое было возвращено в пул соединений.
Есть идеи, как исправить такое поведение?
Кстати, я использую клиент Oracle 10