2012-07-11 92 views
0

我能够部署我的战争很好,当我尝试运行它,我在控制台日志得到一些运行时错误值java.sql.SQLException:没有合适的驱动程序

Cannot create JDBC driver of class 'oracle.jdbc.OracleDriver' for connect URL 'jdbcracle:thin(DESCRIPTION = (LOAD_BALANCE = ON)(FAILOVER = ON)(ADDRESS = (PROTOCOL = TCP)(HOST = TSS2A056N1-vip.svr.us.co.net)(PORT = 4329))(ADDRESS = (PROTOCOL = TCP)(HOST = TSS2A056N2-vip.svr.us.co.net)(PORT = 4329)) (CONNECT_DATA = (SERVICE_NAME = atmt01d_taf.co.net)(FAILOVER_MODE = (TYPE = select) (METHOD = basic))))' 
java.sql.SQLException: No suitable driver 
at java.sql.DriverManager.getDriver(DriverManager.java:264) 
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437) 
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) 
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) 
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81) 
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423) 
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144) 
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119) 
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57) 
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326) 
at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:555) 
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371) 
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:317) 
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.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625) 
at com.jpmc.tss.tspayments.rest.controller.CustomizeColumnsController$$EnhancerByCGLIB$$76448fa3.getColumnsToDisplay(<generated>) 
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:597) 
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:174) 
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:421) 
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:409) 
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771) 
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) 
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
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:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) 
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) 
at org.apa 

我觉得这是一个classpath问题 - 我确信classes12.jar和ojdbc-11.2.0.1.0.jar都在tomcat home/lib和java home/jre/lib/ext中,并且这两个目录都在类路径中。我还确认ojdbc-11.2.0.1.0.jar位于我应用程序的Libraries/Maven Dependencies目录中。

在这一点上,我觉得战争应该有机会获得这个驱动程序jar。任何想法如何调试?

+0

您是否试图在不同于您开发的计算机上运行此操作? – 2012-07-11 20:53:54

+0

> jdbcracle:thin(DESCRIPTION =(LOAD_BALANCE = ON) URL的名称是否正确??或者这是一个错字? – 2012-07-11 20:55:31

回答

4

连接URL中的错字?

jdbcracle:thin(DESCRIPTION.... 

应该

jdbc:oracle:thin(DESCRIPTION.... 
+0

也应该不要同时使用classes12和ojdbc。对于你正在运行的JVM来说尤其如此,如果你使用的是Java 6,那么使用ojdbc6,java 5,ojdbc5。Classes1.2是旧Java 1.2版本中的一个遗留物,另外,它们应该可以放在你的tomcat/lib目录不是你的jvm。 – Matt 2012-07-11 21:19:17

0

我解决了这个问题 - 基本上我的数据源的连接参数是错误的。与我的classpath中的oracle jar无关。

相关问题