我在Java oracle连接中遇到了一些错误。有人可以帮我这个吗?我附上了以下代码。我收到了这个错误:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver..
这是代码
package md5IntegrityCheck;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class MD5IntegrityCheck
{
public static void main(String[] args)
{
String fileName,Md5checksum ,sql;
Connection con;
PreparedStatement pst;
Statement stmt;
ResultSet rs;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con1 =DriverManager.getConnection("jdbc:odbc:RecordTbl","scott","tiger");
}
catch(Exception ee)
{ee.printStackTrace( );}
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
/****insert method******/
private static void setDefaultCloseOperation(String exitOnClose) {
// TODO Auto-generated method stub
}
static void setVisible(boolean b) {
// TODO Auto-generated method stub
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:RecordTbl","scott","tiger");
PreparedStatement pst = con.prepareStatement("insert into RecordTbl values(?,?)");
String fileName = null;
pst.setString(1,fileName);
String Md5checksum = null;
pst.setString(2,Md5checksum);
int i=pst.executeUpdate( );
System.out.println("recorded in database");
con.close( );
}
catch(Exception ee)
{ee.printStackTrace( );}
}
}
if (args.length <= 0)
{
Md5Gui gui = new Md5Gui();
gui.runGui();
}
else
{
DoWork runningProgram = new DoWork();
runningProgram.run(args);
}
}
}
答案 0 :(得分:2)
你的问题很模糊:
在您的例外中,您获得了与{MySQL}相关的驱动程序的ClassNotFoundException
。在您的代码上,您使用的是JDBC-ODBC驱动程序。
我的建议是如何配置数据库连接。让我们从那里开始吧。此外,最好添加异常堆栈跟踪以确切了解发生了什么。
编辑:如果您想了解如何配置与Oracle数据库的JDBC连接,请访问this example。我完全建议直接使用Oracle JDBC驱动程序,而不是将其连接到ODBC Bridge。
答案 1 :(得分:0)
我假设你可能在IDE中运行你的程序,所以请在项目的类路径中添加驱动程序jar
答案 2 :(得分:0)
您应该查看您正在使用的任何第三方库是否需要MySQL数据库驱动程序。虽然你写的是你使用的是Oracle驱动程序(尽管JdbcOdbcDriver
是由Java本身提供的,而且与Oracle DB没有任何关系)但是例外情况显然是要求MySQL。由于您没有在您提供的代码中使用它,因此必须使用MySQL进行另一个数据库连接。