天天看点

Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Cannot报错

Caused by: org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'

        at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:240)

        at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)

        at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335)

        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)

        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

        at com.sun.proxy.$Proxy16.syncInfos(Unknown Source)

        at com.coglink.dplus.module.jobwz.SyncJob.work(SyncJob.java:52)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:498)

        at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)

        at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:264)

        ... 3 more

Caused by: java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'

        at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2160)

        at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2032)

        at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532)

        at net.sf.log4jdbc.Log4jdbcProxyDataSource.getConnection(Log4jdbcProxyDataSource.java:89)

        at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:202)

        ... 16 more

Caused by: java.sql.SQLException: No suitable driver

        at java.sql.DriverManager.getDriver(DriverManager.java:315)

        at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2144)

        ... 20 more

今天部署了一个以JNDI作为数据源的项目,结果部署上去一直报数据源加载不到,一直以为是配置文件错了,或者是数据连接jar版本太低,结果检查很多遍发现配置文件没有问题,jar也是可以的。

找了很久发现JNDI配置数据源,需要在tomcat的server.xml里面进行全局JNDI配置

Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Cannot报错

这样配置之后,重启项目,ok,项目已经可以正常访问了。

Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Cannot报错

继续阅读