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数据库时验证失败,急求大神啊

皕杰报表:连接数据库失败,请检查数据源配置(oracle.jdbc.driver.OracleDriver)

Google脚本和Oracle数据库连接失败

怎样利用JDBC连接并操作Oracle数据库

当连接变坏时,有啥方法可以让 JBoss 连接池重新连接到 Oracle?

求救:jdbc_odbc链接oracle数据库失败,代码如下,运行后,显示:常连接到数据库。 但没有抓到资料。