2009-06-11 52 views
3

我想在實際創建JDBC連接之前指定JDBC連接的語言。Oracle JDBC瘦客戶機的設置語言

例如,如果我在

DriverManager.getConnection(url, user, password)  

我需要得到ORA錯誤定位於我所選擇的語言指定錯誤的L/P憑據。我使用Oracle瘦客戶機並設置NLS_LANG環境變量不起作用

回答

1

使用DriverManager.getConnection(String url, Properties info)方法可能會取得一些成效。

從文檔:

參數:

url - 形式JDBC的數據庫URL:子協議:子名稱

info - 任意字符串標記的列表/值對作爲連接參數;通常至少一個 「用戶」 和 「密碼」 屬性應包括

也許這樣的事情可能工作:

String url = ...; 
Properties info = new Properties(); 
info.setProperty("user", ...); 
info.setProperty("password", ...); 
info.setProperty("NLS_LANG", ...); 
DriverManager.getConnection(url, info); 
+0

我試過,但它不適合我。 :-( – sax 2009-06-11 16:43:53

0

按文件----

Providing Globalization Support 

The basic Java Archive (JAR) files, ojdbc5.jar and ojdbc6.jar, contain all the necessary classes to provide complete globalization support for: 

    Oracle character sets for CHAR, VARCHAR, LONGVARCHAR, or CLOB data that is not being retrieved or inserted as a data member of an Oracle object or collection type. 
    CHAR or VARCHAR data members of object and collection for the character sets US7ASCII, WE8DEC, WE8ISO8859P1, WE8MSWIN1252, and UTF8. 

To use any other character sets in CHAR or VARCHAR data members of objects or collections, you must include orai18n.jar in the CLASSPATH environment variable of your application. 
1

這對我來說最合適,如NLS_LANG setting for JDBC thin driver?

-Duser.language=en -Duser.region=US 
+0

這是可行的,因爲JDBC瘦驅動程序查找Java語言環境以提取語言,然後在連接建立期間相應地更改數據庫會話語言。數據庫會話的語言用於以適當的語言返回錯誤消息。 – 2017-07-13 09:01:19