Class.forName("sun.jdbc.odbc:JdbcOdbcDriver");这就是用驱动程序啊
还有你要设好把驱动包设到classpath中

解决方案 »

  1.   

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      

  2.   

    把jdbc驱动的包放到lib里面就行了.
      

  3.   

    jdbc_odbc驱动不用装,装J2SDK的时候已经装上了!!
      

  4.   

    jdbc-odbc驱动在装j2sdk的时候装上了,那还要不要装jdbc驱动???
    还有我装的sqlserver 2000的驱动,对Access行吗?
      

  5.   

    你对java 的数据库的驱动还不是很了解,找本书看看上面有关java 驱动的介绍,先明白一些基本的概念。
      

  6.   

    jdbc一共有4种方式
    其中
    jdbc-odbc是jdk中就带有,可以直接使用,使用时实际调用的是odbc驱动,这是微软弄的,所以在控制面板里的odbc里设置,odbc怎么设不用说了把,而且odbc驱动是由各个数据库提供的。除此之外,同样道理,jdbc驱动也是由各个数据库提供的,比如db2的驱动在db2java.zip中,在ibm网站中下载,sqlserver的jdbc驱动要去微软站点去下载,可以找到的。
    找到这些驱动后,在看相应的开发手册把。至于是否可以象ado那样直接通过文件驱动访问access等文件数据库没考证过,应该可以。通过jdbc-odbc的方式比较方便,但因为odbc是c写的,需要在java和c程序中转换,所以效率低下,对小程序适用。
      

  7.   

    你写的程序我也看到过,好像不行,简单就是设置为mdb设置一个odbc源,比如odbc源名称为
    mydb
    则可以这么写:
    String sourceURL="jdbc:odbc:mydb";    
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con=DriverManager.getConnection(sourceURL);其他就一样了
      

  8.   

    Connection con=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=d:\\db1.mdb");这样可以了,原来在Driver (*.mdb)这里,中间有个空格此外注意d:\\db1.mdb是\\这样就可以直接访问acess数据库,无须做任何配置
      

  9.   

    jdbc_odbc驱动不用装
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    这句就是~~
      

  10.   

    jdbc-odbc不用驱动,在odbc数据源做好相关的配置即可通过JDBC-ODBC桥连接到数据库 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:odbc:192.168.1.33","scott","tiger"); 192.168.1.33为数据源 "scott","tiger" 要在数据库本身和数据源处做好配置和匹配
    理论:
    jdbc-odbc 桥 是sun公司提供的,是jdk提供的的标准api. 这种类型的驱动实际是把所有 
    jdbc的调用传递给odbc ,再由odbc调用本地数据库驱动代码.( 本地数据库驱动代码是指 
    由数据库厂商提供的数据库操作二进制代码库,例如在oracle for windows中就是oci dll 文 
    件) 
    只要本地机装有相关的odbc驱动那么采用jdbc-odbc桥几乎可以访问所有的数据库,jdbc- 
    odbc方法对于客户端已经具备odbc driver的应用还是可行的.但是,由于jdbc-odbc先调用 
    odbc再由odbc去调用本地数据库接口访问数据库.所以,执行效率比较低,对于那些大数据量 
    存取的应用是不适合的.而且,这种方法要求客户端必须安装odbc 驱动,所以对于基于 
    internet ,intranet的应用也是不合适的.因为,你不可能要求所有客户都能找到odbc driver. 
      

  11.   

    上面各位说的方法我都试了。
       只有这个可以:(非常感谢)
       
       String sourceURL="jdbc:odbc:mydb";    
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       Connection con=DriverManager.getConnection(sourceURL);
      
      但是为什么要通过一个string对象来传这个"jdbc:odbc:mydb"呢???
      其他的都是运行时出现异常:No suitable driver
      

  12.   

    这样也可以:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con=DriverManager.getConnection("jdbc:odbc:mydb");用字符串是编程习惯而已。此外不配置odbc应该可以,是不是我写漏了:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con=DriverManager.getConnection("jdbc:odbc:driver={
    Microsoft Access Driver (*.mdb)};DBQ=d:\\db1.mdb");
      

  13.   

    晕,上面第一种现在可以了。
      我发现一个问题,象这些语句和sql语句都被“”引起,相当于屏蔽了这些语句,那编译时就不会报错了,象这种错误你们一般怎么检查???   还有最后你说的那个方法还是不行,是不是我配置了odbc的缘故???
      

  14.   

    不过还好问题解决了,非常感谢febchen(),感谢所有朋友。以后可能还要麻烦你们了。
      

  15.   

    很多工具有语法校验功能,比如eclipse。装上lomboz插件会自动检查语法错误并给出解决方法。建议使用数据源或JNDI连接,这样可以做到改变数据库位置或类型而无需修改代码。
      

  16.   

    //使用数据源或JNDI连接//
       是怎么回事???
      

  17.   

    还想问一个问题:
        怎么把数据库带走??
    比如说用这个连接数据库:
      Connection con=DriverManager.getConnection("jdbc:odbc:driver={
                                     Microsoft Access Driver (*.mdb)};DBQ=d:\\db1.mdb");
     那用户不就也要把数据库存在d:\目录下,或者还要配置odbc源???有没有可以读取用户得数据库得保存路径再通过用户得存储路径来建立连接???
      

  18.   

    当你数据库移动时,比如:d:\db1.mdb->e:\db1.mdb如果用
    Connection con=DriverManager.getConnection("jdbc:odbc:driver={
       Microsoft Access Driver (*.mdb)};DBQ=d:\\db1.mdb");
    则需要修改程序
    Connection con=DriverManager.getConnection("jdbc:odbc:driver={
       Microsoft Access Driver (*.mdb)};DBQ=e:\\db1.mdb");如果用odbc
    需要修改odbc配置,指向新目录,但只要odbc名字不变,程序就不用修改
      

  19.   

    那就是说用户用得时候还要去设置一下odbc了,那不是很麻烦
      

  20.   

    是啊,这和那些独立应用程序(vb,vc,delphi之类)是一样的要不就不用odbc,然后写个配置文件,如config.ini之类的,然后在里面放置数据库存放路径,如:
    d:\mydb\bookdb.mdb然后在程序里读取这个值就可以了,这样装客户端时,只要改这个配置文件,不用改程序了。