Jboss Oracle JDBC 连接失败
Posted
技术标签:
【中文标题】Jboss Oracle JDBC 连接失败【英文标题】:Jboss Oracle JDBC connection failed 【发布时间】:2015-06-16 10:37:59 【问题描述】:Jboss EAP 6.3,Oracle 11g Express。 我有这个独立的 oracle 数据源:
<datasource jta="true" jndi-name="java:/OracleDS" pool-name="OracleDS">
<connection-url>jdbc:oracle:thin:@localhost:1521:XE</connection-url>
<driver>oracleDriver</driver>
<security>
<user-name>Boris</user-name>
<password>password</password>
</security>
</datasource>
<drivers>
<driver name="oracleDriver" module="com.oracle">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
</drivers>
Oracle 数据库正在运行,我可以使用 sqlplus 连接到它:
SQL> connect
Enter user-name: Boris
Enter password:
Connected.
数据源显示在 Jboss 管理面板中。我运行了一个测试连接,但它的响应是:
Unexpected HTTP response: 500
Request
"address" => [
("subsystem" => "datasources"),
("data-source" => "OracleDS")
],
"operation" => "test-connection-in-pool"
Response
Internal Server Error
"outcome" => "failed",
"failure-description" => "JBAS010440: failed to invoke operation: JBAS010447: Connection is not valid",
"rolled-back" => true
在 jboss 控制台中我发现了这个:
Caused by: java.sql.SQLException: ORA-00604: error occurred at recursive SQL lev
el 1
ORA-12705: Cannot access NLS data files or invalid environment specified
但我在互联网上找到的该错误的解决方案没有帮助。
我做错了什么?
【问题讨论】:
【参考方案1】:ORA-12705
错误表明这可能是语言环境问题。当转换为 NLS 时,您可以尝试使用 supported by Oracle XE 的语言环境启动 JBoss。例如,尝试将此添加到您的 JBoss 启动配置中(jboss-as/bin/run.conf
中的JAVA_OPTS
变量):
-Duser.language=en -Duser.country=US
【讨论】:
以上是关于Jboss Oracle JDBC 连接失败的主要内容,如果未能解决你的问题,请参考以下文章
皕杰报表:连接数据库失败,请检查数据源配置(oracle.jdbc.driver.OracleDriver)