【问题标题】:Configuring ucanaccess driver on wildfly 8.0在 Wildfly 8.0 上配置 ucanaccess 驱动程序
【发布时间】:2015-04-13 21:42:23
【问题描述】:

我正在尝试使用 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文件-

<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 文件
<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]"

请帮我找出问题

谢谢

【问题讨论】:

  • 我不知道为什么它看不到模块,除非它不存在。尽管java:jboss/MyDS 上的&lt;driver/&gt; 应该是ucanaccess 而不是ucanaccess-2.0.9.4.jar,但要注意一点。
  • 谢谢詹姆斯当你说模块不存在时,我需要检查什么?
  • org.ucanaccess.jdbc.MsAccessDataSource 不存在,UCanAccess 不提供 XaDatasource 而是提供 NonXA。使用其他配置选项。
  • 尝试修改数据源配置中的&lt;driver&gt;ucanaccess-2.0.9.4.jar&lt;/driver&gt;&lt;driver&gt;com.ucanaccess.jdbc&lt;/driver&gt;
  • @Ashu 你知道了吗?我正在尝试完成同样的事情。

标签: driver datasource wildfly


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 2023-04-08
    • 2017-07-06
    • 2016-07-13
    相关资源
    最近更新 更多