用Spring配置了数据源 <bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@localhost:1521:ORCL</value>
</property>
<property name="username">
<value>booksystem</value>
</property>
<property name="password">
<value>csusoft</value>
</property>
</bean>
驱动包也加到工程 lib目录下了
用如下代码测试 FileSystemXmlApplicationContext actx = new FileSystemXmlApplicationContext(
"spring-dao.xml");
DataSource ds = (DataSource)actx.getBean("dataSource");

Connection conn = ds.getConnection();
System.out.println(conn);出现错误 java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
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)发现Log4j的输出信息中显示了 Loaded JDBC driver: oracle.jdbc.driver.OracleDriver
上面的错误到运行到Connection conn = ds.getConnection();出现的
请各位高手帮我看看,这到底是怎么回事,怎么DataSource 取得了,getConnection()却报错呢?

解决方案 »

  1.   

    输出ds 可以看到
    ds=org.springframework.jdbc.datasource.DriverManagerDataSource@c68c3
    但是到getConnection()出错了,不知道问题出在哪,哪位大侠帮我看看啊!!
      

  2.   

    多谢关注..
    是说classes12.jar的版本吗,我用的Oracle 10g,驱动包从安装目录中找出来的,应该没问题吧
      

  3.   

    java.sql.SQLException: No suitable driver 应该说明是跟版本有关系吧
      

  4.   

    多谢关注!
    刚才又试了下,发现把同一个驱动拷到Tomcat common/lib下,配置Tomcat数据源,能连上,但用这个配置的DriverManagerDataSource还是报错,搞不明白了..
      

  5.   

    Tomcat数据源配置如下
    <?xml version="1.0" encoding="UTF-8"?>
    <Context> 
    <Resource name="jdbc/bookManager" auth="Container" 
    type="javax.sql.DataSource"
    maxActive="100"
    maxWait="10000"
    maxIdle="30"
    username="booksystem"
    password="csusoft"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@localhost:1521:ORCL"/>
    </Context>
    实在不明白为什么前面那样配置为什么取不到