Notre base de données Oracle 10g a récemment été mise à niveau vers 11g. La base de données s'exécute sur une machine Windows Server 2003 X64. Dans les requêtes SQL d'une application .NET qui accède à une table contenant des colonnes de données TIMESTAMP (6) WITH TIME ZONE, j'obtiens l'exception suivante.Oracle ORA-01805 sur la base de données Oracle 11g
System.Data.OracleClient.OracleException: ORA-01805: erreur possible opération Date/heure
Le suggested action de l'exception est de faire en sorte que le client et le serveur sont la même version:
ORA-01805: erreur possible dans l'opération de date/heure Cause: Les fichiers de fuseau horaire sur le client et le serveur ne correspondent pas. L'opération peut potentiellement entraîner des résultats incorrects basés sur le fichier de fuseau horaire local. Action: Veuillez vous assurer que les versions de fuseau horaire du client et du serveur sont les mêmes.
J'ai exécuté les requêtes suivantes pour vérifier le fuseau horaire sur la base de données en question. Je n'ai pas trouvé d'informations sur la façon dont je définis le fuseau horaire (ou modifiez le fichier timezone) pour le client.
SELECT dbtimezone FROM DUAL;
select * from v$timezone_file;
DBTIMEZONE
----------
+00:00
FILENAME VERSION
-------------------- ----------------------
timezlrg_14.dat 14
Je suppose que le client fait référence au client instantané que j'ai installé, à savoir la version 11_2? J'exécute les requêtes via un System.Data.OracleClient.OracleConnection
tel que fourni par le .NET Framework. U Je suppose que par "version de fuseau horaire" il se réfère aux versions du fichier fuseau horaire. Je ne vois pas où le client instantané a un fichier de fuseau horaire. Toutes les suggestions sont appréciées.
Avec mon 11.2.0.2.0 client, je reçois essentiellement la même sortie. Je devine que le client 11.2.0.1 était plus tôt que la version 14. Merci –
la commande fournie est utile mais op demande comment changer la valeur – wonster