У меня есть вопрос, который заставляет меня с ума на моем ноутбуке я есть оракул-х 10.2.0 на убунтуСтарый и избили ORA-12705: Не удается получить доступ к файлам данных NLS или недействительный среде, указанной и Java Locale.setDefault()
DB Charset: AMERICAN_AMERICA.AL32UTF8
NLS_LANG = AMERICAN_AMERICA.AL32UTF8
public static void main(String[] args) throws Exception {
// Default locale before overwriting is ru_RU
// Locale.setDefault(new Locale("EN"));
//
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "test", "test");
try {
// @machineName:port:SID, userid, password
Statement stmt = conn.createStatement();
try {
ResultSet rset = stmt
.executeQuery("select * from test");
try {
while (rset.next())
System.out.println(rset.getString(1)); // Print col 1
} finally {
try {
rset.close();
} catch (Exception ignore) {
}
}
} finally {
try {
stmt.close();
} catch (Exception ignore) {
}
}
} finally {
try {
conn.close();
} catch (Exception ignore) {
}
}
}
Если я комментарий Locale.setDefault я есть ORA-12705: не удается получить доступ к файлам данных NLS или недействительный окружения указанного исключения (локаль по умолчанию в этом случае остается ru_RU), но если я устанавливаю стандартную локаль в EN, тогда все в порядке.
Что это может означать? Почему оно используется для определения значения Locale.getDefault вместо NLS_LANG, как написано в каждой статье об этом?
Благодаря