2009-06-11 4 views
3

JDBC接続を実際に作成する前に、言語を指定する必要があります。 Oracle JDBCシンクライアントの言語を設定する

は、例えば、私は私が選択した言語にローカライズ ORAエラーを取得する必要があります

DriverManager.getConnection(url, user, password)  

に間違ったL/Pの資格情報を指定した場合。 Oracle thin clientを使用しており、環境変数NLS_LANGを設定しても動作しませんでした。

答えて

1

DriverManager.getConnection(String url, Properties info)メソッドを使用すると成功するかもしれません。

パラメータ:ドキュメントから

url - フォームJDBCのデータベースURLサブプロトコル:サブネーム

info - 任意の文字列タグのリスト/値のペアを接続引数として使用します。通常、少なくとも "ユーザー" および "パスワード" プロパティこのような何かが動作する可能性があり、おそらく

を含めるべきである:ドキュメントを1として

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

私はそれを試みたが、それは私のために働かない。 :-( – sax

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ロケールを調べて言語を抽出し、接続確立時にデータベースセッション言語を変更するためです。DBセッションの言語は、エラーメッセージを適切な言語で返すために使用されます。 –

関連する問題