当前位置:编程学习 > JAVA >>

JDK1.6+oracle10g 链接驱动的问题,求大侠帮忙看下。

环境:JDK1.6 , oracle 10g, tomcat7.0, 

oracle的驱动:ojdbc14.jar 放入tomcat的lib中,访问报错, 然后又找了ojdbc6.jar放入,还是报同样的错误,
说是找不到合适的驱动,控制台错误如下:

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class 'oracle.jdbc.OracleDriver' for connect URL 'jdbc:oracle:thin@xiaoePC:1521:orcl'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at data.access.Struts1.<init>(Struts1.java:21)
at data.access.searchProduct.<init>(searchProduct.java:12)
at action.SearchProductAction.execute(SearchProductAction.java:17)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1815)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: 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)
... 27 more

求大侠帮忙:
--------------------编程问答--------------------
oracle.jdbc.driver.OracleDrive   --ojdbc14.jar  

你的driver_class写错啦 ,
try {
Class.forName("oracle.jdbc.driver.OracleDrive");
     } catch (Exception e) {
e.printStackTrace();
}
--------------------编程问答-------------------- Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for connect URL 'jdbc:oracle:thin@xiaoePC:1521:orcl'

还是一样的,
tomcat 的文档里面是这样的

For Oracle 9i onwards you should use oracle.jdbc.OracleDriver rather than oracle.jdbc.driver.OracleDriver as Oracle have stated that oracle.jdbc.driver.OracleDriver is deprecated and support for this driver class will be discontinued in the next major release. 

9i以后推荐 oracle.jdbc.OracleDriver,
谢谢你的回答; --------------------编程问答-------------------- private Connection getConn() {
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, userName,
password);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}



driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@192.168.0.11:1521:AA
username=aa
password=aa

俺的这样子是可以的 具体就不清楚了 --------------------编程问答-------------------- 这个好像不是jar包的问题吧!你的oracle配置可能不对,不能连接到数据库 --------------------编程问答--------------------                 <Context path="/Struts1" docBase="Struts1" debug="0" reloadable="true">
<Resource name="oracledata" auth="Container" type="javax.sql.DataSource"

driverClassName="oracle.jdbc.OracleDriver"
maxActive="20"
maxIdle="30"
maxWait="10000"
username="scott"
password="oracle"
url="jdbc:oracle:thin@xiaoePC:1521:orcl"
description="myDataSource for JDBC Applications"/>

</Context>

这是tomcat连接池的配置,
下面是web.xml的配置
 <resource-ref>
   <description>Oracle Datasource </description>
   <res-ref-name>oracledata</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
</resource-ref>

控制台中说的是没有合适的驱动。 --------------------编程问答-------------------- url="jdbc:oracle:thin@xiaoePC:1521:orcl",哇,原来是这里的错,thin后面少了个:
字符串长了很容易忽略错误,谢谢你们,结贴。
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,