我想在实际创建之前指定JDBC连接的语言。
例如,如果我在
中指定错误的L / P凭证DriverManager.getConnection(url, user, password)
我需要将ORA
错误本地化为我选择的语言。我使用Oracle瘦客户端并且设置NLS_LANG
环境变量不起作用
答案 0 :(得分:1)
使用DriverManager.getConnection(String url, Properties info)方法可能会取得一些成功。
来自文档:
<强>参数:
形式的数据库网址
url
- jdbc:subprotocol:subname
info
- 作为连接参数的任意字符串标记/值对的列表;通常至少应包含“用户”和“密码”属性
也许这样的事情可能有用:
String url = ...;
Properties info = new Properties();
info.setProperty("user", ...);
info.setProperty("password", ...);
info.setProperty("NLS_LANG", ...);
DriverManager.getConnection(url, info);
答案 1 :(得分:1)
这对我来说最有效,如NLS_LANG setting for JDBC thin driver?
中所述 -Duser.language=en -Duser.region=US
答案 2 :(得分: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.