Jdbc wildfly上的Db2驱动程序/数据源设置:未能加载驱动程序[com.ibm]的模块
我想在我的wildfly服务器(wildfly.8.0.0-Final和8.1.0)上为db2配置数据源,但在这样做时遇到了一些问题 我的研究告诉我这是一个两步的过程Jdbc wildfly上的Db2驱动程序/数据源设置:未能加载驱动程序[com.ibm]的模块,jdbc,db2,wildfly,Jdbc,Db2,Wildfly,我想在我的wildfly服务器(wildfly.8.0.0-Final和8.1.0)上为db2配置数据源,但在这样做时遇到了一些问题 我的研究告诉我这是一个两步的过程 将驱动程序作为模块安装在%JBOSS_HOME%/modules/com/ibm/main目录中 将数据源子系统配置为在连接设置中包含此模块作为驱动程序 到目前为止,我已使用以下module.xml在以下结构下安装了模块: modules/ `-- com/ `-- ibm/ `-- main/
modules/
`-- com/
`-- ibm/
`-- main/
|-- db2jcc4.jar
|-- db2jcc_license_cu.jar
|-- db2jcc_license_cisuz.jar
`-- module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.ibm">
<resources>
<resource-root path="db2jcc4.jar"/>
<resource-root path="db2jcc_license_cu.jar"/>
<resource-root path="db2jcc_license_cisuz.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="sun.jdk"/>
</dependencies>
</module>
<resource-root path="db2jcc_license_cu.jar"/>
<resource-root path="db2jcc_license_cisuz.jar"/>
这反过来会导致数据源声明加载失败,因为驱动程序丢失
我用它作为指南,因为目前还没有任何可供wildfly使用的。显示了一些希望,但似乎有点过时。如果有人有任何经验,设置这个然后你的帮助将不胜感激
我想连接到DB29.7
请,谢谢。尝试更换:
借
从资源路由中删除s 您可以尝试启用
jboss.jdbc.spy
=TRACE
并向数据源添加spy=“true”
<datasource jndi-name="..." ... spy="true">
及
这通常是为了调试JDBC,但也许它也显示了更多关于驱动程序加载的内容。
另外,您肯定需要
资源根目录
,而不需要s
我也有同样的问题。我通过从module.xml中删除以下两行来解决此问题:
modules/
`-- com/
`-- ibm/
`-- main/
|-- db2jcc4.jar
|-- db2jcc_license_cu.jar
|-- db2jcc_license_cisuz.jar
`-- module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.ibm">
<resources>
<resource-root path="db2jcc4.jar"/>
<resource-root path="db2jcc_license_cu.jar"/>
<resource-root path="db2jcc_license_cisuz.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="sun.jdk"/>
</dependencies>
</module>
<resource-root path="db2jcc_license_cu.jar"/>
<resource-root path="db2jcc_license_cisuz.jar"/>
我没有一个具体的解释来解释为什么这样做有效 这不是您问题的解决方案,而是未来访客(如我)通过搜索相同的错误消息来回答此问题的参考: 今天我遇到了同样的问题,对我来说,这是
module.xml
和standalone full.xml
中的一个错误。在这两种情况下,模块名都是com.ibm.main
,但它应该是com.ibm
简而言之:如果您遇到此消息,并且反复检查配置文件没有帮助,请重写它们。模块主文件夹中的jar文件应添加到module.xml中,如下所示:
<resources>
<resource-root path="db2jcc4.jar"/>
<resource-root path="db2jcc_license_cu.jar"/>
</resources>
如果您使用的是db2jcc.jar而不是db2jcc4.jar,并且在定义标准(非XA)数据源时,可能也有助于指定驱动程序类
<driver-class>com.ibm.db2.jcc.DB2Driver</driver-class>
com.ibm.db2.jcc.DB2Driver
日志说明了什么?日志没有任何帮助,我已经尝试设置调试级别,它所说的关于驱动程序的信息与我在上面提供的相同(未能为驱动程序加载模块
),这是WildFly 8.0还是8.1?(Q说是8.0,但下面的评论说是8.1)最初是8.0,但现在是8.1,因为我升级了。你能解决它吗?如果是这样,怎么做?我做了更改,但我仍然收到消息:(很抱歉花了很多时间回到你身边?你解决了这个问题吗?如果没有,请给我一些更多的信息。你使用的是什么IDE(解决方案可能与插件配置有关?Wildfly 8.0上存在一些错误,您是否切换到Wildfly 8.1?有一个文档:。替换为您的ibm驱动程序。不幸的是,我使用的是Wildfly 8.1:(,而且根据文档,我的配置是正确的。根据你的帖子,一切都是正确的。我看不出它不工作的任何原因。消息意味着它找不到模块。我已经像这样配置了MySQL(没有sun.jdk模块)现在它正在工作。查看是否存在sun.jdk模块。还要确保standalone.bat、standalone.xml(或域)都在同一个%JBOSS_HOME%下。我看不出有任何其他原因导致它不能正常工作。我也这样做了,但它似乎没有产生任何新的调试信息…我在日志中没有看到任何跟踪或调试消息,仍然和往常一样只有相同的信息和错误消息。就是这样!我有com.ibm.db2,在standalone.xml中,但是e模块位于com.ibm中
<driver-class>com.ibm.db2.jcc.DB2Driver</driver-class>