Connection con = null;
Statement statement = null;
try {
String strSql = "insert into FirstLevelTitle values(5,'军事','网管',getdate())";
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
System.out.println("无法找到驱动类");
}
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1434; DatabaseName=news","sa","sa");
statement = con.createStatement();
statement.executeUpdate(strSql);
} catch (SQLException sqlE) {
sqlE.printStackTrace();
} finally {
closeStatement(statement);
closeConnection(con);
}报这个:
无法找到驱动类
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at s2jsp.sg.ch03.NewsFirstTitleDB1.main(NewsFirstTitleDB1.java:23)
是什么原因啊?请高手帮忙解决。先谢谢了

解决方案 »

  1.   

    我已经复制过去了啊,怎么在myEclipse中的 WEBROOT->web-inf 下的lib 文件夹里看不到?
    但是在兹盘里的这个 lib 文件夹里面有这算是导入了吗?
      

  2.   

    n你是sqlserver ?几的数据库?
      

  3.   

    我点 at s2jsp.sg.ch03.NewsFirstTitleDB1.main(NewsFirstTitleDB1.java:23) 
    这一行代码时他指示是
    con = DriverManager.getConnection
    ("jdbc:microsoft:sqlserver://localhost:1434; DatabaseName=news","sa","sa");
    这一行有问题。
      

  4.   

    怎么是包有问题还是连接代码的问题?这个No suitable driver好像是说:没有相配的区动程序。
      

  5.   

    static {
    try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    con = DriverManager
    .getConnection(
    "jdbc:sqlserver://localhost:1433;databasename=test",
    "sa", "sasasa");
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
      

  6.   

    这个是连接sqlserver 2005 的数据连接吗?
    我试了怎么还是不行。。同样是报这个错误。
    非常感谢,我收到你邮件的文件了,那个2005的 sqlJDBC.jar 和我的这个文件一样。我也是这个文件。
      

  7.   

    还是不行的话,你不加microsoft试一试,我好像记得是2000还是2005可以不加的
    con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databasename=test",
    "sa", "sasasa");
      

  8.   

    不行我感觉好像是,他没有找到区动类的原因
    报这个:
    无法找到驱动类
    java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at s2jsp.sg.ch03.NewsFirstTitleDB1.main(NewsFirstTitleDB1.java:23)是不是导入有问题?我只是把那个sqljdbc.jar复制到 WEBROOT->web-inf 下的lib 文件夹里了。
    还有根目录里。
    其他什么都没做。应该不算导入吧?
      

  9.   

    /*
     * 演示使用直连方式向FirstLevelTitle表中插入一条记录                
     */
    package s2jsp.sg.ch03;import java.sql.*;
    public class NewsFirstTitleDB1 {
    /**
     * 程序入口
     */
    public static void main(String[] args) {
    Connection con = null;
    Statement statement = null;
    try {
    String strSql = "insert into FirstLevelTitle values(5,'军事','网管',getdate())";
    try {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    } catch (ClassNotFoundException e) {
    System.out.println("无法找到驱动类");
    }
    //con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1434; DatabaseName=news","sa","sa");
    con = DriverManager
    .getConnection(
    "jdbc:sqlserver://localhost:1434;DatabaseName=news",
    "sa", "sa"); statement = con.createStatement();
    statement.executeUpdate(strSql);
    } catch (SQLException sqlE) {
    sqlE.printStackTrace();
    } finally {
    closeStatement(statement);
    closeConnection(con);
    }
    }

    /**
     * 关闭语句
     * @param stat
     */
    public static void closeStatement(Statement stat) {
    try {
    if (stat != null) {
    stat.close();
    stat = null;
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    } /**
     * 关闭连接
     * 
     * @param dbConnection
     */
    public static void closeConnection(Connection dbConnection) {
    try {
    if (dbConnection != null && (!dbConnection.isClosed())) {
    dbConnection.close();
    }
    } catch (SQLException sqlEx) {
    sqlEx.printStackTrace();
    }
    }
    }这个是源代码。
    数据库开户了,端口我已经用cmd  telnet localhost 1434 测试过了 是可以用的。
      

  10.   

    你做这个的时候是怎么把sql server连上的?
    你大概做了哪些步骤呢?
    看看到底是哪里出了错
      

  11.   

    这个sqljdbc.jar应该是2005的吧
    我下这个文件的时候他上面显示说这个适用与sql server 2005
      

  12.   

    你看看项目目录中Referenced Libraries 下有你要用的jar包吗?没有的话在Referenced Libraries上右键选择build path然后选择Confrgure Build Path 打开一个页面在上面选择Libraries,最后选择Add JARs添加jar包
      

  13.   

    一个项目中不能有两个sqljdbc.jar否则也容易出这个错误
      

  14.   

    在myeclipse中看看你的项目下的 Referenced Libraries 中有没有加进你的数据库驱动,没有的话将WEB-INF/lib 下的数据库驱动添加上。
      

  15.   

    哈哈,行了。刚才我Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");这个
    没有改成和你一样。只改了con = DriverManager
    .getConnection(
    "jdbc:sqlserver://localhost:1433;databasename=test",
    "sa", "sasasa");这个所以不行。
    哈哈,谢谢你啊
      

  16.   

    你的驱动jar包放到webroot>web_inf下的lib下