无法为连接URL创建类”的JDBC驱动程序’null’ – :在tomcat 6中创建和使用数据源时出现错误

我的应用程序的WEB-INF / web.xml:

  WSProject  My Datasource example  jdbc/myoracle  javax.sql.DataSource  Container    index.html index.htm index.jsp default.html default.htm default.jsp /axis2-web/index.jsp   Apache-Axis Servlet AxisServlet org.apache.axis2.transport.http.AxisServlet   AxisServlet /servlet/AxisServlet   AxisServlet *.jws   AxisServlet /services/*   Apache-Axis Admin Servlet Web Admin AxisAdminServlet org.apache.axis2.transport.http.AxisAdminServlet 100   AxisAdminServlet /axis2-admin/*   

我的conf / server.xml

– >

      

我正在使用Apache Tomcat 6运行Oracle并随机获取此错误:*错误1- * Eclipse弹出窗口。

  An internal error occurred during: "Loading descriptor for WSProject.". org.eclipse.emf.ecore.xmi.IllegalValueException: Value 'Container ' is not legal. (platform:/resource/WSProject/WebContent/WEB-INF/web.xml, 9, 40) 

Stacktrace数据源错误:

 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) at com.imageinfo.eclear.cpuws.service.SoapWebService.(SoapWebService.java:38) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.axis2.util.Utils$8.run(Utils.java:768) at org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:132) at org.apache.axis2.util.Utils.createServiceObject(Utils.java:765) at org.apache.axis2.receivers.AbstractMessageReceiver.makeNewServiceObject(AbstractMessageReceiver.java:245) at org.apache.axis2.receivers.AbstractMessageReceiver.getTheImplementationObject(AbstractMessageReceiver.java:282) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:79) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(Unknown Source) at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(Unknown Source) at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(Unknown Source) at java.sql.DriverManager.getDriver(Unknown Source) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437) ... 34 more 

无法弄清楚哪个是在tomcat中定义数据源的正确方法,因为它声明声明应该在context.xml和一些server.xml中。 在我的情况下,我保持context.xml不变。

您需要在context.xml文件中定义一个链接,以将webapp使用的名称映射到全局名称,即使名称相同也是如此。

请参阅http://tomcat.apache.org/tomcat-6.0-doc/config/context.html#Resource_Links