在wildfly 8.0上配置ucanaccess驱动程序

时间:2015-04-13 21:42:23

标签: driver datasource wildfly

我正在尝试使用MS Access作为数据库创建Web应用程序。为此,我使用ucanaccess驱动程序,我的服务器是Wildfly 8.0

问题是如何在服务器上正确配置此驱动程序? 在互联网上进行研究后,我开始了解以下步骤

  1. 创建一个文件夹structre并放置所有ucanaccess jar文件 -

    wildfly-8.0.0.Final\modules\system\layers\base\com\ucanaccess\jdbc\main

  2. 编辑module.xml文件 -

  3. <module xmlns="urn:jboss:module:1.1" name="com.ucanaccess.jdbc">
        <resources>
            <resource-root path="ucanaccess-2.0.9.4.jar"/>
            <resource-root path="commons-lang-2.6.jar"/>
            <resource-root path="commons-logging-1.1.1.jar"/>
            <resource-root path="hsqldb.jar"/>
            <resource-root path="jackcess-2.0.8.jar"/>            
        </resources>
        <dependencies>
            <module name="javax.api"/>
            <module name="javax.transaction.api"/>
            <module name="javax.servlet.api" optional="true"/>
        </dependencies>
    </module>
    
    1. 编辑standalone-full.xml文件
    2. <datasources>
          <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
              <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
              <driver>h2</driver>
              <security>
                  <user-name>sa</user-name>
                  <password>sa</password>
              </security>
          </datasource>
      
          <datasource jndi-name="java:jboss/MyDS" pool-name="MyDS" enabled="true" use-java-context="true">
              <connection-url>jdbc:ucanaccess://C://Users//sahashu//Documents//NGCORE.accdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
              <driver>ucanaccess-2.0.9.4.jar</driver>
              <security>
                  <user-name></user-name>
                  <password></password>
              </security>
          </datasource>
      
          <drivers>
              <driver name="h2" module="com.h2database.h2">
                  <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
              </driver>
      
              <driver name="ucanaccess" module="com.ucanaccess.jdbc">
                  <xa-datasource-class>org.ucanaccess.jdbc.MsAccessDataSource</xa-datasource-class>
              </driver>
      
          </drivers>
      </datasources>
      

      但是,我仍然收到此错误 -

      23:29:34,422 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 28) JBAS014613: Operation ("add") failed - address: ([
      ("subsystem" => "datasources"),
      ("jdbc-driver" => "ucanaccess")
      ]) - failure description: "JBAS010441: Failed to load module for driver [com.ucanaccess.jdbc]"
      

      请帮我确定问题

      由于

1 个答案:

答案 0 :(得分:0)

有一种更简单的方法:只需使用 UcanAccess JAR 文件创建您自己的 JAR。 在 Eclipse 中:

  • 创建一个普通的 Java 项目(适用于 Java 8)
  • 创建一个带有虚拟 main 方法的虚拟类,并执行它(例如一个简单的 Hello World 程序)
  • 在项目上右击 -> Build Path -> Configure Build Path
  • 转到“库”选项卡并使用“添加外部 JAR”添加您在 UcanAccess 下载中找到的所有 5 个 JAR
  • 右键单击项目 -> 导出 -> Java / Runnable JAR 文件,选择您的虚拟类作为启动配置,并将库处理保留为“提取所需的库...”

现在转到您的 WildFly 管理控制台,然后单击“部署”。在那里,您可以添加新鲜出炉的 JAR 并启用它。从现在开始,当您需要使用管理控制台中的向导添加 Microsoft Access 数据源时,WildFly 将自动识别此驱动程序。