Наша база данных Oracle 10g была недавно обновлена до 11g. База данных работает на компьютере под управлением Windows Server 2003 X64. В запросах SQL из приложения .NET, которые обращаются к таблице, имеющей столбцы данных TIMESTAMP (6) WITH TIME ZONE, я получаю следующее исключение.
System.Data.OracleClient.OracleException: ORA-01805: возможная ошибка в операции даты / времени
Предлагаемое рекомендуемое действие для исключения состоит в том, чтобы убедиться, что клиент и сервер имеют одинаковую версию:
ORA-01805: возможная ошибка в операции даты / времени
Причина. Файлы часовых поясов на клиенте и сервере не совпадают. Операция может потенциально привести к неверным результатам, основанным на файле местного часового пояса.
Действие: Убедитесь, что версии часового пояса клиента и сервера совпадают.
Я выполнил следующие запросы для проверки часового пояса в рассматриваемой базе данных. Я не нашел информации о том, как установить часовой пояс (или изменить файл часового пояса) для клиента.
SELECT dbtimezone FROM DUAL;
select * from v$timezone_file;
DBTIMEZONE
----------
+00:00
FILENAME VERSION
-------------------- ----------------------
timezlrg_14.dat 14
Я предполагаю, что клиент ссылается на установленный мной Мгновенный клиент, который является версией 11_2? Я выполняю запросы через System.Data.OracleClient.OracleConnection
, как это предусмотрено .NET Framework. U Я предполагаю, что под «версией часового пояса» подразумевается версия файла часового пояса. Я не вижу, где мгновенный клиент имеет файл часового пояса. Любые предложения оцениваются.