No suitable driver found for jdbc:oracle(已解决,详细见红色字体)
2012-03-13 17:34
435 查看
[org.hibernate.util.JDBCExceptionReporter.class 2012-03-13 17:36:09 WARN ] SQL Error: 0, SQLState: 08001 [org.hibernate.util.JDBCExceptionReporter.class 2012-03-13 17:36:09 ERROR ] No suitable driver found for jdbc:oracle:thin:@172.16.146.3:1521:gzdec [org.hibernate.cfg.SettingsFactory.class 2012-03-13 17:36:09 WARN ] Could not obtain connection metadata java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@172.16.146.3:1521:gzdec at java.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:154) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:291) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:277) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:259) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:241) at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:825) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:751) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1202) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:428) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) 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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
SPRING配置文件:
<!-- SessionFactory的第一种方式:不导入原来配置文件hibernate.cfg.xml --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="mappingResources"> <list> <value>com/gzedu/hbm/LcmsMutualDyna.hbm.xml</value> <value>com/gzedu/hbm/LcmsTermcourseAct.hbm.xml</value> <value>com/gzedu/hbm/LcmsTermcourseActindex.hbm.xml</value> <value>com/gzedu/hbm/LcmsTermcourseClass.hbm.xml</value> <value>com/gzedu/hbm/LcmsTermCourseinfo.hbm.xml</value> <value>com/gzedu/hbm/LcmsTermcourseTask.hbm.xml</value> <value>com/gzedu/hbm/LcmsTermcourseTaskChpt.hbm.xml</value> <value>com/gzedu/hbm/LcmsUserChoose.hbm.xml</value> <value>com/gzedu/hbm/LcmsUserStud.hbm.xml</value> <value>com/gzedu/hbm/LcmsCourseChapterinfo.hbm.xml</value> <value>com/gzedu/hbm/LcmsTempStudentScore.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> <prop key="hibernate.show_sql">false</prop> <prop key="characterEncoding">utf-8</prop> <prop key="hibernate.c3p0.min_size">2</prop> <prop key="hibernate.c3p0.max_size">30</prop> <prop key="hibernate.c3p0.timeout">10000</prop> <prop key="hibernate.c3p0.max_statements">50</prop> <prop key="hibernate.c3p0.idle_test_period">3000</prop> </props> </property> </bean> <!-- SessionFactory的第二种方式:导入原来配置文件hibernate.cfg.xml <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"> </property> <!-- 开发库 <property name="url" value="jdbc:oracle:thin:@xxxx:1521:develop"> </property> <property name="username" value="yya_zyjylcms"></property> <property name="password" value="develop"></property> --> <!-- 测试库 --> <property name="username" value="yya_zyjylcms"></property> <property name="password" value="password"></property> <property name="url"> <value>jdbc:oracle:thin:@xxx:1521:gzdec</value> </property> </bean>
Oracle包为ojdbc14.jar已经添加到buildpath中。
网上的解决方案:
一是:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")
二是:驱动字符串出错(com.mysql.jdbc.Driver)
三是Classpath中没有加入合适的mysql_jdbc驱动
但是呢。我都试过了,URL没问题,驱动也没问题。可能是Classpath的问题,然而我试了也不行?问题何在呢?
问题出在此类中:
org.springframework.jdbc.datasource.DriverManagerDataSource此类没有为oracle的URL找到相应的驱动
修改类为:(使用第三方包)org.apache.commons.dbcp.BasicDataSource
即需要导入包:
commons-dbcp-xx.jar
commons-pool-xx.jar
问题即可解决
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"> </property> <!-- 开发库 <property name="url" value="jdbc:oracle:thin:@172.16.172.180:1521:develop"> </property> <property name="username" value="yya_zyjylcms"></property> <property name="password" value="develop"></property> --> <!-- 测试库 --> <property name="username" value="yya_zyjylcms"></property> <property name="password" value="password"></property> <property name="url"> <value>jdbc:oracle:thin:@172.16.146.3:1521:gzdec</value> </property> </bean>
相关文章推荐
- 关于解决No suitable driver found for jdbc:oracle:thin:@//localhost:1521/orcl的问题
- jsp连接oracle数据库时报错: No suitable driver found for jdbc:oracle:thin:@localhost:1521:orcl,解决方法
- jdbc连接sql server2008 No suitable driver found for jdbc:sqlserver的解决办法
- java连接mysql :No Suitable Driver Found For Jdbc 解决方法
- No Suitable Driver Found For Jdbc_我的解决方法
- No suitable driver found for jdbc解决方法
- No suitable driver found for jdbc_我的解决方法
- SQLException: No suitable driver found for jdbc:oracle:thin:@gem:1521:XE
- 关于解决"No suitable driver found for jdbc:mysql:/localhost:3306"问题的步骤
- JAVA No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433/xxxxxx 解决办法
- No Suitable Driver Found For Jdbc的解决方法
- No Suitable Driver Found For Jdbc_我的解决方法
- No Suitable Driver Found For Jdbc错误解决
- android studio下解决 java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/
- java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@localhost:1521:ORCL
- 关于No suitable driver found for com.mysql.jdbc.Driver问题的解决办法
- jdbc连接oracle报错No suitable driver found for jdbc
- Tomcat 部署 时 java.sql.SQLException: No suitable driver found for jdbc:sqlserver 我是怎么解决的
- No suitable driver found for jdbc解决方法
- 调试经验-java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@localhost:1521:orcl