大家好:   我配了一个数据源,在TOMCAT上运行,报错如下:
main INFO - Using datasource: java:comp/env/jdbc/portalapp
main WARN - Could not obtain connection metadata
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:69)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at com.smartdot.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:52)
at com.smartdot.struts.ClamcPlugIn.init(ClamcPlugIn.java:31)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:1158)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:473)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1029)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4013)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4357)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:701)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
at org.apache.catalina.core.StandardService.start(StandardService.java:480)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:243)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)
... 37 more
main INFO - Using dialect: org.hibernate.dialect.DB2Dialect
main INFO - Using default transaction strategy (direct JDBC transactions)
main INFO - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
请帮忙分析一下原因?
谢谢!

解决方案 »

  1.   

    <Resource name="jdbc/portalapp" auth="SERVLET" type="javax.sql.DataSource"/> 
    <ResourceParams name="jdbc/portalapp"> 
    <parameter><name>user</name><value>db2admin</value></parameter> 
    <parameter><name>password</name><value>db2admin</value></parameter> 
    <parameter><name>driverClassName</name><value>com.ibm.db2.jcc.DB2Driver</value></parameter> 
    <parameter><name>driverName</name><value>jdbc:db2://localhost:50000/MYWPSDB</value></parameter> 
    </ResourceParams> 
      

  2.   

    还是一样的报错?<Resource name="jdbc/portalapp" auth="SERVLET" type="javax.sql.DataSource"/> 
    <ResourceParams name="jdbc/portalapp"> 
    <parameter> <name>user </name> <value>db2admin </value> </parameter> 
    <parameter> <name>password </name> <value>db2admin </value> </parameter> 
    <parameter> <name>driverClassName </name> <value>com.ibm.db2.jcc.DB2Driver </value> </parameter> 
    <parameter> <name>url</name><value>jdbc:db2://localhost:50000/MYWPSDB </value> </parameter> 
    </ResourceParams>