2012-11-12 20 views
3

我通過德語從JDBC獲取Oracle的異常消息。我怎樣才能將其改爲英文?Oracle JDBC異常消息語言是德語

java.sql.SQLException: Die Zeitzone f³r die Datenbank-Session ist nicht festgelegt 
     at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) 
     at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) 
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199) 
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263) 
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271) 
     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445) 
     at oracle.jdbc.driver.TimestampltzAccessor.getString(TimestampltzAccessor.java:94) 
     at oracle.jdbc.driver.T4CTimestampltzAccessor.getString(T4CTimestampltzAccessor.java:256) 
     at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:971) 
+0

如果你可以提供數據庫的NLS語言集和你用來訪問數據庫的任何客戶端,可能會有幫助 – kevinsky

+0

@Kevinsky:我將不得不去研究它。我不確定在JDBC客戶端中指定的位置。至於服務器,它位於地球的另一邊,由不接我電子郵件的人管理。獲取服務器的NLS語言集將花費更長的時間。 (我希望這是我可以在客戶端單獨解決的。) –

+0

在數據庫上嘗試選擇DECODE(參數'NLS_CHARACTERSET','CHARACTER SET', 'NLS_LANGUAGE','LANGUAGE', 'NLS_TERRITORY', 'TERRITORY')name, value from v $ nls_parameters WHERE參數IN('NLS_CHARACTERSET','NLS_LANGUAGE','NLS_TERRITORY');並在客戶端從SQL PLUS SELECT * FROM NLS_SESSION_PARAMETERS; – kevinsky

回答

2

對於NLS設置它將是客戶端。請參閱NLS_LANG setting for JDBC thin driver?以瞭解如何在JDBC端進行設置。

+0

鏈接答案中的解決方案起作用。特別是對我來說,它是'Locale.setDefault(Locale.US);'。 –