我們的Oracle 10g數據庫最近已升級到11g。數據庫在Windows Server 2003 X64機器上運行。在訪問具有TIMESTAMP(6)WITH TIME ZONE數據列的表的.NET應用程序的SQL查詢中,出現以下異常。Oracle 11g數據庫上的Oracle ORA-01805
System.Data.OracleClient.OracleException:ORA-01805:日期可能出現的錯誤/時間操作
的suggested action的例外是確保客戶端和服務器的版本相同:
ORA-01805:日期/時間操作中可能的錯誤 原因:客戶端和服務器上的時區文件不匹配。操作可能會導致基於本地時區文件的錯誤結果。 操作:請確保客戶端和服務器時區版本相同。
我已運行以下查詢來檢查有問題的數據庫上的時區。我還沒有找到有關如何爲客戶端設置時區(或更改時區文件)的信息。
SELECT dbtimezone FROM DUAL;
select * from v$timezone_file;
DBTIMEZONE
----------
+00:00
FILENAME VERSION
-------------------- ----------------------
timezlrg_14.dat 14
我假定客戶端指的是我安裝的即時客戶端,它是版本11_2?我通過.NET Framework提供的System.Data.OracleClient.OracleConnection
運行查詢。 U我認爲「時區版本」是指時區文件版本。我沒有看到即時客戶端在哪裏有時區文件。任何建議都很明確。
隨着我的11.2.0.2.0客戶端,我得到基本相同的輸出。我猜11.2.0.1客戶早於版本14.謝謝 –
提供的命令是有幫助的,但op是問如何更改值 – wonster