代码如下:import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class Demo1 { //成员变量
private Connection conn=null;
private String sql=null;
private Statement sta=null;
private ResultSet rsl=null;
public static void main(String[] args) {
new Demo1();
}

//构造函数
public Demo1(){

try {
//加载数据库驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection(
"jdbc:microsoft:sqlsever://127.0.0.1:1433;databaseName=mydatabase1","sa","abc-123");
//下面两行为ODBC连接方式,可以连接,就是上面的JDBC方式不能连接
// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// conn = DriverManager.getConnection("jdbc:odbc:zyf","sa","abc-123");
sta = conn.createStatement();
sql = "SELECT * FROM book";
rsl = sta.executeQuery(sql);
while(rsl.next()){
System.out.println(rsl.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}}
抛出异常提示为:java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at myjavapackage1.Demo1.<init>(Demo1.java:25)
at myjavapackage1.Demo1.main(Demo1.java:16)我驱动没有错,也把驱动引入进来了,
请教为什么会这样?

解决方案 »

  1.   

    No suitable driver:试试
    conn = DriverManager.getConnection(
    "jdbc:sqlsever://127.0.0.1:1433;DatabaseName=mydatabase1","sa","abc-123");
      

  2.   

    你现在使用的驱动应该是sqlserver2000的驱动,这个驱动在sqlserver2005/2008上面是有问题的,所以你需要使用2005/2008的驱动包,或者使用第三方的驱动,就可以解决了。
      

  3.   

    我用的驱动包连接SQL Server 2005是可以用的,但是到08的数据库就会出问题,是不是05驱动在08上没有用呀?
      

  4.   

    conn = DriverManager.getConnection(
     "jdbc:microsoft:sqlsever://127.0.0.1:1433;databaseName=mydatabase1","sa","abc-123");
    把后面的密码和用户名去掉
    也就是
    conn = DriverManager.getConnection(
     "jdbc:microsoft:sqlsever://127.0.0.1:1433;databaseName=mydatabase1")
    url中不需要添加用户名和密码