Jdbc wildfly上的Db2驱动程序/数据源设置:未能加载驱动程序[com.ibm]的模块

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/

我想在我的wildfly服务器(wildfly.8.0.0-Final和8.1.0)上为db2配置数据源,但在这样做时遇到了一些问题

我的研究告诉我这是一个两步的过程

  • 将驱动程序作为模块安装在%JBOSS_HOME%/modules/com/ibm/main目录中
  • 将数据源子系统配置为在连接设置中包含此模块作为驱动程序
  • 到目前为止,我已使用以下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"/>
    
    这反过来会导致数据源声明加载失败,因为驱动程序丢失

    我用它作为指南,因为目前还没有任何可供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>