我从MS网站上下了一个JDBC的驱动。安装后,按照MS的要求也进行了CLASSPATH的配置,把三个.jar文件都加入了CLASSPATH。但是下面的程序还是无法运行。提示出错信息为:java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver但是如果用代码中注释掉的JDBC:ODBC连接则程序可以正常运行的。
哪位能告诉我这到底是怎么回事?
import java.sql.*;public class Test{
private String URL;
private Connection con;
public Statement stat;
public ResultSet rs;
public Connection getConnection(){
try{
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs", "sa", "");
//con = DriverManager.getConnection("jdbc:odbc:Pubs", "sa", "");
if(con!=null)
System.out.println("Connection has been Created!");
}catch(SQLException e){
e.getStackTrace();
System.out.println(e);
}catch(Exception e){
e.getStackTrace();
System.out.println(e);
}
return con;
}
public ResultSet getResult(){
try{
stat = con.createStatement();
rs=stat.executeQuery("select * from authors");
}catch(SQLException e){
e.getStackTrace();
System.out.println(e);
}
return rs;
}
public void Close(){
try{
rs.close();
stat.close();
con.close();
System.out.println("Connection has been closed!");
}catch(SQLException e){
e.getStackTrace();
System.out.println(e);
}
}
public static void main(String []args){
Test obj=new Test();
obj.getConnection();
obj.getResult();
try{
while (obj.rs.next()) {
System.out.println(obj.rs.getString("au_fname"));
}
}catch(SQLException e){
e.getStackTrace();
System.out.println(e);
}
obj.Close();
}
}
哪位能告诉我这到底是怎么回事?
import java.sql.*;public class Test{
private String URL;
private Connection con;
public Statement stat;
public ResultSet rs;
public Connection getConnection(){
try{
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs", "sa", "");
//con = DriverManager.getConnection("jdbc:odbc:Pubs", "sa", "");
if(con!=null)
System.out.println("Connection has been Created!");
}catch(SQLException e){
e.getStackTrace();
System.out.println(e);
}catch(Exception e){
e.getStackTrace();
System.out.println(e);
}
return con;
}
public ResultSet getResult(){
try{
stat = con.createStatement();
rs=stat.executeQuery("select * from authors");
}catch(SQLException e){
e.getStackTrace();
System.out.println(e);
}
return rs;
}
public void Close(){
try{
rs.close();
stat.close();
con.close();
System.out.println("Connection has been closed!");
}catch(SQLException e){
e.getStackTrace();
System.out.println(e);
}
}
public static void main(String []args){
Test obj=new Test();
obj.getConnection();
obj.getResult();
try{
while (obj.rs.next()) {
System.out.println(obj.rs.getString("au_fname"));
}
}catch(SQLException e){
e.getStackTrace();
System.out.println(e);
}
obj.Close();
}
}
改成Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();试试
改成Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();试试========================================
还是报错java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
jtds比jdbc好用多了,功能上面强些。