如何使用Jboss 5.0.0 GA在Java中连接MSAccess数据库

如何使用Jboss 5.0.0 GA在Java中连接MSAccess数据库,java,eclipse,ms-access,jboss,datasource,Java,Eclipse,Ms Access,Jboss,Datasource,我在连接动态Web项目和数据库MS Access时遇到问题。我正在使用EclipseJuno和JBoss5.0.0GA。我知道我必须定义数据源xml。但我不知道我做错了什么。我将msaccess-ds.xml存储在jboss-5.0.0.GA\server\default\deploy文件夹中 <?xml version="1.0" encoding="UTF-8"?> <!-- ================================================

我在连接动态Web项目和数据库MS Access时遇到问题。我正在使用EclipseJuno和JBoss5.0.0GA。我知道我必须定义数据源xml。但我不知道我做错了什么。我将msaccess-ds.xml存储在jboss-5.0.0.GA\server\default\deploy文件夹中

<?xml version="1.0" encoding="UTF-8"?>

<!-- ===================================================================== -->
<!--                                                                       -->
<!--  JBoss Server Configuration                                           -->
<!--                                                                       -->
<!-- ===================================================================== -->

<!-- $Id: msaccess-ds.xml 8941 2002-07-22 22:57:24Z d_jencks $ -->
<!-- ==================================================================== -->
<!-- This uses the sun jdbc-odbc driver, so don't expect miracles          -->
<!-- Thanks to Alan Moor, who warns...                                     -->
<!-- Remember, though, never trust critical data, or data that you can't   -->
<!-- afford to lose, or data that you need quick access to, or data that   -->
<!-- needs to be secure, to Microsoft Access.                              -->
<!-- ===================================================================== -->


<datasources>
  <local-tx-datasource>
    <jndi-name>MSAccessDS</jndi-name>
    <!-- format of URL is "jdbc:odbc:DSNNAME" -->
    <connection-url>jdbc:odbc:C:\Users\Tazz\Desktop\bazaAccess\baza niekod\tabele Faelbud całość_wb.mdb</connection-url>
    <driver-class>sun.jdbc.odbc.JdbcOdbcDriver</driver-class>
    <user-name></user-name>
    <password></password>
  </local-tx-datasource>

</datasources>
这就是我的问题:

11:49:34,187 ERROR [STDERR] javax.naming.NameNotFoundException: MSAccessDS not bound
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.lookup(NamingServer.java:443)
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.lookup(NamingServer.java:399)
11:49:34,187 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:713)
11:49:34,187 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:820)
11:49:34,187 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:673)
11:49:34,187 ERROR [STDERR]     at javax.naming.InitialContext.lookup(Unknown Source)
11:49:34,187 ERROR [STDERR]     at pl.test.connection.MSAccessConnector.connectMSAccess(MSAccessConnector.java:12)
11:49:34,187 ERROR [STDERR]     at pl.test.connection.Serwlet.doGet(Serwlet.java:29)
11:49:34,187 ERROR [STDERR]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
11:49:34,187 ERROR [STDERR]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
11:49:34,187 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
11:49:34,197 ERROR [STDERR]     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
11:49:34,197 ERROR [STDERR]     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
11:49:34,197 ERROR [STDERR]     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
11:49:34,197 ERROR [STDERR]     at java.lang.Thread.run(Unknown Source)

我创建了一个简单的控制台应用程序来连接这个数据库,一切正常,但在那里我不必使用datasource和jboss。请帮帮我

应该是
context.lookup(“java:/MSAccessDS”)

您的连接URL中有一些非常广泛的Unicode字符;它甚至包含
字符,这使得它成为无效的XML。你仔细检查过这个吗?谢谢你的回复,我把这个文件名改成了ala.mdb,但不幸的是我也遇到了同样的问题。我之前试过这个,但我遇到了这个问题:错误[STDERR]java.lang.ClassCastException:org.jboss.resource.adapter.jdbc.WrapperDataSource不能强制转换为javax.activation.DataSource移动任何包含jboss以外的db库的jar文件。你能粘贴所有包含的jar吗?我忘了在jboss-5.0.0.GA\server\default\lib文件夹中没有jar文件,因为我不知道它应该是什么。在控制台应用程序中,我使用Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”),这是我发现的最常用的解决方案。我找不到这个sun.jdbc.odbc.JdbcOdbcDriver。可以告诉我应该存储到jboss-5.0.0.GA\server\default\lib文件夹中的内容吗?
11:49:34,187 ERROR [STDERR] javax.naming.NameNotFoundException: MSAccessDS not bound
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.lookup(NamingServer.java:443)
11:49:34,187 ERROR [STDERR]     at org.jnp.server.NamingServer.lookup(NamingServer.java:399)
11:49:34,187 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:713)
11:49:34,187 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:820)
11:49:34,187 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:673)
11:49:34,187 ERROR [STDERR]     at javax.naming.InitialContext.lookup(Unknown Source)
11:49:34,187 ERROR [STDERR]     at pl.test.connection.MSAccessConnector.connectMSAccess(MSAccessConnector.java:12)
11:49:34,187 ERROR [STDERR]     at pl.test.connection.Serwlet.doGet(Serwlet.java:29)
11:49:34,187 ERROR [STDERR]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
11:49:34,187 ERROR [STDERR]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
11:49:34,187 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
11:49:34,197 ERROR [STDERR]     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
11:49:34,197 ERROR [STDERR]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
11:49:34,197 ERROR [STDERR]     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
11:49:34,197 ERROR [STDERR]     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
11:49:34,197 ERROR [STDERR]     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
11:49:34,197 ERROR [STDERR]     at java.lang.Thread.run(Unknown Source)