ORA-00604 ORA-12705
Ich habe diesen Fehler in meinem j2ee-web-Anwendung.
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:785)
oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:376)
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:839)
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1353)
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1353)
In diesem Projekt arbeiten wir in meinem Kollegen-PCs... ich meine, dieses Projekt für Sie funktioniert, aber wenn ich gefragt, für Ihre Projekt-Ordner und importiert es auf meinem eclipse, wenn ich ihn treffe ich diesen Fehler. Die jar Dateien sind schon gepackt mit den Projekt-Ordner.
Ich auch erstellt ein einfaches j2ee-Projekt mit hibernate, aber ich hatte den gleichen Fehler.
Ich habe versucht, pingen Sie den DB-server, und navigieren Sie mithilfe von PL/SQL-Entwickler und ich habe kein problem mit es
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgendes versuchen:
\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
.Edit:
Bezüglich Treiber, überprüfen Sie diese Seite: Oracle Instant Client. Dort finden Sie in der Dokumentation auf minimale Treiber-installation erforderlich für JDBC-Zugriff auf Oracle. Ich weiß nicht viel darüber, weil ich .Net.
Edit 2:
Siehe diese Frage: NLS_LANG-Einstellung für JDBC-thin-Treiber. Es ist der gleiche Fehler, als Sie haben, und das problem war, dass die Standard-locale für NLS LANG wurde nicht definiert. Zitat:
Dachte ich, dass könnte passieren, dass zwei params, um Ihre Java-Anwendung um das Problem zu beheben:
Könnten Sie konfigurieren die Werte an den Umwelt-Variablen-Ebene als auch (hängt von Ihrem Betriebssystem).
Für Windows env, müssen Sie ändern Sie das Gebietsschema des Systems und
System Format
zuEnglish/US
.Wie Gebietsschema ändern?
Ich hatte das gleiche problem. Die Lösung wurde so fügen Sie das Land und die Sprache zu
sqldeveloper.conf
Öffnen Sie bitte die Datei:
Und fügen Sie den folgenden:
Den oben funktioniert der trick.
Referenz: http://forum.oradba.net/showthread.php?t=423&langid=1
Fand ich die Lösung, die ich nur ändern Sie die regions-und Sprachoptionen in meinem OS (windows 7), stellen Sie sicher, es passt mit der oracle-regions-und Sprachoptionen.
Ersten Abfrage ausführen:
Dies gibt oracle regions-und Sprachoptionen. Ändern Sie die regions-und Sprachoptionen im Betriebssystem, die beiden sollten übereinstimmen.
JDBC-Treiber für Oracle implizit führt die folgende Anweisung nach der Eröffnung der neuen Verbindung:
In unserem Fall hatten wir Probleme mit Oracle XE 11g und Standardsprache/- Gebiet-Zuordnungen eingebettet in JDBC-Treiber: 'ru' locale zugeordnet zu 'GUS' Gebiet, das unterstützt nur die Oracle EE, aber Oracle XE hatte, 'RUSSLAND' Gebiet nur.
Hier ist der Weg, den wir behoben:
Es ist eine option für NLS_LANGUAGE(wir hatten keine Probleme mit defaults):
Fixed: Konstante ru=RUSSISCH genommen von der Klasse oracle.sql.converter.CharacterSetMetaData von java-jdbc-Treiber.
überprüfen Sie die JAVA_HOME Systemvariable und stellen Sie sicher, dass es die gleiche version, die Sie verwenden in Ihren Projekten und Programmen