com.microsoft.jdbc.sqlserver.SQLServerDriver,这么写为什么不对?

来源:百度知道 编辑:UC知道 时间:2024/07/02 10:44:01
import java.sql.*;
class Main
{
public static void main(String[] args)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //疑惑的地方
String url="jdbc:odbc:wzgl";
Connection conn= DriverManager.getConnection(url);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
System.out.println("test ok");
}

}
以上能成功运行
为什么把这一句话改成Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 就会报错

我装的是sql server 2000

在SQL Server 2000 中加载驱动和URL路径的语句是

String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";

而SQL Server 2005 中加载驱动和url的语句则为

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";

可以看出版本不同连接方法也是不同的。SQL Server有许多不同版本,看你用的是哪个了。

不知道你的错误提示是什么,可能是以下几个方面:
1.没有使用SQLServer JDBC的jar包,com.microsoft.jdbc.sqlserver.SQLServerDriver这个类肯定找不到.msbase.jar,mssqlserver.jar,msutil.jar这3个包都是需要的
2.如果改成Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");了,那么相应的语句也要调整成
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433";
Connection conn = DriverManager.getConnection(url,"帐号","密码");