【发布时间】:2015-04-13 21:42:23
【问题描述】:
我正在尝试使用 MS Access 作为数据库创建 Web 应用程序。为此,我使用的是 ucanaccess 驱动程序,我的服务器是 Wildfly 8.0
问题是如何在服务器上正确配置此驱动程序? 在互联网上研究后,我知道了以下步骤
-
创建一个文件夹 structre 并放置所有 ucanaccess jar 文件-
wildfly-8.0.0.Final\modules\system\layers\base\com\ucanaccess\jdbc\main 编辑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>
- 编辑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上的<driver/>应该是ucanaccess而不是ucanaccess-2.0.9.4.jar,但要注意一点。 -
谢谢詹姆斯当你说模块不存在时,我需要检查什么?
-
org.ucanaccess.jdbc.MsAccessDataSource 不存在,UCanAccess 不提供 XaDatasource 而是提供 NonXA。使用其他配置选项。
-
尝试修改数据源配置中的
<driver>ucanaccess-2.0.9.4.jar</driver><driver>com.ucanaccess.jdbc</driver>。 -
@Ashu 你知道了吗?我正在尝试完成同样的事情。
标签: driver datasource wildfly