我正在使用Tomcat服务器8
我在Lib中添加了Ojdbc7.jar
并使用Oracle 11g(11.2.0.2)版本
我的代码是:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class PrintForm extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)throws IOException, ServletException
{
res.setContentType("text/html");
PrintWriter out = res.getWriter();
//Variables declaration
String emp_name = req.getParameter("name");
String s = "INSERT into Emp values(?,?)";
try{
//Making connection with Oracle
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","oracle");
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
//Inserting data into table
PreparedStatement pst = con.prepareStatement(s);
pst.setInt(1,1);
pst.setString(2,emp_name);
pst.executeUpdate();
con.close();
}catch(Exception e){
out.println(e);
}
}
}
这就是投掷,
java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@localhost:1521:xe
这个例外。
那么我应该使用什么驱动程序或JDK版本? 当前版本是1.7
答案 0 :(得分:1)
首先需要注册驱动程序
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
请阅读oracle驱动程序的javadocs。它解释了这一点,以及如何在不同的场景中建立连接:https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html
此外,如果您在线搜索错误No suitable driver found for
,您会发现大量网站解释如何解决此问题(以及其他方面)中的问题。
答案 1 :(得分:1)
您应该在创建连接之前先加载驱动程序:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe",
"system", "oracle");
你可以在这里找到一个很好的教程:Connect to Oracle DB via JDBC driver
答案 2 :(得分:1)
您必须在Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = D....
行
答案 3 :(得分:1)
以下内容已从常见问题解答中删除,因为除“持续支持”计划外,不再支持Oracle 11.1及更早版本:
您正在使用11gR2,因此您需要ojdbc6.jar,但请注意有关支持Java 7和Java 8的Oracle数据库版本的警告。
建议使用与您的Oracle DB版本兼容的最新版本的Java;即Java 8.(Java 7及更早版本已超过其“生命终结”......除非您拥有Oracle Java支持合同。)