我正在开发一个简单的应用程序,它必须能够访问Oracle 10g数据库并且在JBoss EAP 6.1.0服务器下运行。我已按照official guide上给出的步骤安装Oracle驱动程序。
目前,我有以下配置文件。我添加了jboss-eap-6.1\modules\com\oracle\db\main
和ojdbc6.jar
的文件夹module.xml
,内容为:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle.db">
<resources>
<resource-root path="ojdbc6.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
在jboss-eap-6.1\standalone\configuration\standalone.xml
中,我在datasources
节点中添加了以下行:
<datasource jndi-name="java:/jdbc/OracleDS" pool-name="OracleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@10.0.6.0:1521:ORC1;DB_CLOSE_DELAY=-1</connection-url>
<driver>oracle</driver>
<security>
<user-name>a</user-name>
<password>a</password>
</security>
</datasource>
<drivers>
<driver name="oracle" module="com.oracle.db">
<datasource-class>oracle.jdbc.driver.OracleDriver</datasource-class>
</driver>
</drivers>
最后,在我的Java代码中,我创建了连接:
InitialContext initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/jdbc/OracleDS");
conexion = ds.getConnection();
执行此操作时,它会在行conexion = ds.getConnection()
上给出错误:
javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/jdbc/OracleDS
我一直在网上寻找可行的解决方案但没有成功。有什么想法吗?
答案 0 :(得分:0)
最后,我可以让它发挥作用!我做了什么:
-
<datasource jndi-name="java:/jdbc/OracleDS" pool-name="OracleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@10.0.6.0:1521:ORC1;DB_CLOSE_DELAY=-1</connection-url>
的
<datasource jndi-name="**java:jboss/OracleDS**" pool-name="OracleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:**@//10.0.0.110:1521/orc11.palluc.com**</connection-url>
所以我的jndi-name和url连接无效。
在Java代码中,我已经改变了(考虑到以前的更改):
DataSource ds =(DataSource)initContext.lookup(“java:/ jdbc / OracleDS”);
的
DataSource ds = (DataSource)initContext.lookup("java:jboss/OracleDS");
之后,它似乎工作但我仍然在ORA-01882: timezone region not found中解释了Oracle错误。我按照评论#6来解决它(似乎有比'直接修改ojdbc6.jar库更'更漂亮'的解决方案,正如本文所解释的那样),现在它按预期工作。