通过JDBC-ODBC连接SQL SERVER2000时,用WINRAR打开JRE\LIB\TR.JAR里面可以看到JdbcOdbcDriver.class
但是运行程序的时候总是出现:
java SQLException:not sutiable driver
不知道为什么啊。请帮忙说明一下哈

解决方案 »

  1.   

    设置了。。
    是不是在classpath设置时,除了加那个包外还有其它的啊。。
    但驱动好像只在这个包里?
      

  2.   

    除了java-connector.jar之外,还需要三个jar,
    详情请参考:
    http://blog.chinaunix.net/u/21684/showart_270377.html
      

  3.   

    用ODBC连接要加包吗?不用吧..
    是在控制面板里设置的,不用加包的,加包的那个是使用JDBC直连的.
      

  4.   

    除了java-connector.jar之外,还需要三个jar, 
    详情请参考: 
    http://blog.chinaunix.net/u/21684/showart_270377.html
    用ODBC连接要加包吗?不用吧.. 
    是在控制面板里设置的,不用加包的,加包的那个是使用JDBC直连的. 我是在ODBC里设置了数据源的。刚开始是没加那个JDBC=ODBC包所在的路径所以开始的错误是notfoundclass现在加了变成了找不到适合的驱动了。。
    这个是要安JDBC驱动的啊。。我想通过JDBC-ODBC桥连接不知道还要什么设置啊。感觉设置都是对的但运行时就是出现not sutiable driver不知道为什么啊。主要是想做个简单的测试,不想去下那个驱动,而且那个下起来速度极慢啊。那位还遇到过这样的问题帮忙解决一下
      

  5.   

    J2EE工程里面访问数据库是需要驱动包的.IT资源网,Java/J2EE技术教程
      

  6.   

    代码:
    import java.io.IOException;
    import java.sql.*;
    public class Sqlconnection { public Sqlconnection()
    {
    }
    void display()
    {
        Connection con=null;
        String  url1="jdbc.odbc.Person";
        try{
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         con=DriverManager.getConnection(url1);
         Statement stmt=con.createStatement();
         int id;
         String text;
         int age;
         ResultSet rs;
         String strsql="select * from Person";
         rs=stmt.executeQuery(strsql);
         if(rs.next()){
         do{
         id=rs.getInt(1);
         System.out.print("id"+id);
         text=rs.getString(2);
         System.out.print("name"+text);
         text=rs.getString(3);
         System.out.print("name"+text);
         age=rs.getInt(4);
         System.out.print("age"+age);
         text=rs.getString(5);
         System.out.print("address"+text);
         text=rs.getString(6);
         System.out.print("phone"+text);
         }while(rs.next());
         }
         else{
         System.out.println("no data found");
         }
        }
        catch(ClassNotFoundException e){
         System.out.println(e);
        }
        catch(SQLException e){
         System.out.println(e);
        }
        finally{
         try{
         if(con!=null){
         con.close();
         }
         }
         catch(SQLException e){
         System.out.println(e);
         }
        }
        
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Sqlconnection conn=new Sqlconnection();
    conn.display();
    }}
    错误:java.sql.SQLException:No suitable driver
      

  7.   

    看看windows的SQL   SERVER2000的odbc驱动加了?
      

  8.   

    在lib文件夹中加入三个驱动的jar,还有SQL SERVER要打上sp4  一定要打
      

  9.   

    楼主要求的是用JDBC-ODBC,问题肯定是出在没有设置数据源在Windows下,控制面板->管理工具->数据源在里面正确设置SQL Server的数据源后方可访问。当然,在实际环境中估计是没人用JDBC-ODBC的,大部分人用的是MS发布的JDBC driver,里面有3个jar。其实很不建议用MS的driver,用jtds(一个jar)要好得多。MS JDBC Driver好像是type3的,jtds的是type4的。
      

  10.   

    url1="jdbc.odbc.Person"; jdbc-odbc的连接语法好像不是这样的吧?语法错误,所以没有哪个driver能正确认识url,所以说not sutiable driver 正确的应该是url1="jdbc:odbc:Person"; 这下应该没问题了。
      

  11.   

    楼上的说的对,用ODBC桥连方式连接数据库不需要jar包,在管理工具里设置下数据源,如果设置正确了还有问题 那就是MSSQL没打补丁
      

  12.   

    打上MSSQL SP4的补丁后,
    连接的两种方案:1、JDBC-ODBC桥接:
       class.forName("sun.jdbc.odbc.JdbcOdbc");
       url="jdbc:odbc:Person"
       DriverManager.getConnection(url,"sa","");
    2、MS-JDBC驱动:
       加入msbase.jar 、mssqlserver.jar、msutil.jar包。
       class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
       url="dbc:microsoft:sqlserver://localhost:1433;databaseName=Person";
       在连接时加参数:
       DriverManager.getConnection(url,"sa","");
    3、JTDS驱动:
       加入:jtds.jar包。
       class.forName("net.sourceforge.jtds.jdbc.Driver");
       url="jdbc:jtds:sqlserver://localhost:1433/Person";
       DriverManager.getConnection(url,"sa","");这就是连接MSSQL的解决方法了,如果你的问题还解决不了的话,就只有可能是MSSQL的问题了。