ロケールが空の文字列に設定されている場合、JDBC Thin ドライバー バージョン 10.2.0.4 を使用して Oracle への接続を作成すると失敗することがわかりました。たとえば、次のようになります。
Locale.setDefault(new Locale("",""));
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
con = DriverManager.getConnection(url, userName, password);
上記のコードでは、ORA-12705: NLS データ ファイルにアクセスできないか、指定された環境が無効です。en US または単に en を指定すると、問題なく動作します。
しかし、Oracle ドライバー 9.2.0.1 を使用すると、この正確なコードが機能します。NLS は AMERICAN に設定されます。
私の質問は次のとおりです。これは通常の文書化された動作の変更ですか? デフォルトのロケールを空の文字列に設定するのは悪い習慣でしょうか?