import java.sql.*;
//import sun.jdbc.odbc.JdbcOdbcDriver;
class dbtest
{
public static void main(String args[])
{
try{

//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String myurl = "jdbc:odbc:test";
Connection conn = DriverManager.getConnection(myurl, "", "");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select top 20 * from loadsource");
System.out.println("get resultset\n");

rs.beforeFirst();

while(rs.next())
{
System.out.println(rs.getString(1));
}

rs.close();
stmt.close();
conn.close();
}
catch(SQLException e)
{
System.out.println(e.toString());
e.printStackTrace();
}
}
}编译的时候正常,可是在运行的时候出现以下错误:
java.sql.SQLException: No suitable driver
java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at dbtest.main(dbtest.java:11)好象就出在那个forname上, 不知道怎么回事,各位兄弟指教,在线等

解决方案 »

  1.   

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
    String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
    Connection conn = DriverManager.getConnection(url,"","");
    Statement stmtNew=conn.createStatement() ;
      

  2.   

    不是这里的错误,我改了一下还是不能解决,老是显示老样子
    编译的时候显示:
    dbtest.java:9: unreported exception java.lang.ClassNotFoundExcept
    ught or declared to be thrown
                    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
      

  3.   

    怎么显示没有发现这个类呢, 以下这个情况编译可是能够通过的import sun.jdbc.odbc.JdbcOdbcDriver;
    public class test
    {
        public static void main(String args[])
        {
             System.out.println("hello from java");
             return;
         }
    }
      

  4.   

    还是用直连好了
    String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("YOUR DAYABASE dir");
    Connection conn = DriverManager.getConnection(url,"","");
      

  5.   

    可能是你ODBC数据源添加的不正确吧!
    新手,仅供参考!
      

  6.   

    我的tomcat中就是这样写的,可是能够正常使用,是不是我的路径添加不正确啊,我该怎么样做呢,我以前只是在系统变量path中添加了jsdk的路径,可是以前编译的时候正常,现在怎么就不正常了
      

  7.   

    你好 我也是个菜鸟 我不知道我回答的对不对 你说的好像是JDBC桥没有建好吧 你重新配置一下ODBC啊 在控制面板里了
      

  8.   

    odbc没有问题,我在tomcat里访问的就是用的那个系统源,可访问的
      

  9.   

    自己解决了,是没有处理异常的问题。谢谢大家参与。
    import java.sql.*;
    class dbtest
    {
    public static void main(String args[])
    {
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url="jdbc:odbc:suyanr";
    Connection conn = DriverManager.getConnection(url,"","");

    Statement stmt = conn.createStatement() ;
    ResultSet rs = stmt.executeQuery("select * from driverinfo");
    System.out.println("get resultset\n");

    //rs.beforeFirst();

    while(rs.next())
    {
    System.out.println(rs.getString(2));
    }

    rs.close();
    stmt.close();
    conn.close();
    }
    catch(ClassNotFoundException e){
    System.out.println(e.toString());
    }
    catch(SQLException e)
    {
    System.out.println(e.toString());
    }
    }
    }可是想知道为什么,因为许多书上都是这么写的,为什么自己系统上就不行了呢?非常加入这么多异常处理呢?