如何连接access数据库不用ODBC

有三种办法    
  第一种是用access的JDBC驱动程序,到http://industry.java.sun.com/products/jdbc/drivers这个网站上查找并下在access的jdbc驱动程序。    
  第二个办法是你用下面的代码试试    
  con   =   DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft   Access   Driver   (*.mdb)};DBQ=C:/data/Access/test1.mdb","dba","sql");    
  后面的代码一样。这样你就可以访问access数据库了。    
  第三个是用sun的jdbcodbc桥,这个大家用的多了,在此就不写了  
   
   
  例子一、  
     
  /*  
      用JDBC来连接数据库有很两种方式,如  
      <1>JDBC:ODBC   bridge,  
      <2>直接连接方式.  
      第二种方式有很多好处,它可以独立于依赖于系统的odbc数据源,  
      存储数据的database可以自由地移动  
  */  
   
  //MobileDatabase.java  
  import   java.io.*;  
  import   java.sql.*;  
   
  public   class   MobileDatabase{  
    public   static   void   main(String[]   args){  
      try{  
        //Load   JDBC   driver  
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
         
        /*这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下*/  
        /*{Microsoft   Access   Driver   (*.mdb)}部分可以在控制面板-ODBC中的Drivers(驱动程序)找到*/  
        /*这样其他的数据库也可以通过同样的方式访问,如Excel、FoxPro等*/  
        //String   dbUrl   =   "jdbc:odbc:driver={Microsoft   Access   Driver   (*.mdb)};DBQ=d://MyDB.mdb";  
        String   dbUrl   =   "jdbc:odbc:driver={Microsoft   Access   Driver   (*.mdb)};DBQ=.//db//MyDB.mdb";//相对路径  
         
        Connection   con   =   DriverManager.getConnection(dbUrl,"","");        
        Statement   state   =   con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  
        //执行SQL语句  
        String   sql   =   "select   *   from   person";  
        ResultSet   rs   =   state.executeQuery(sql);  
        //state.executeQuery(sql);  
        //打印测试  
        if(   rs   !=   null   ){  
                while(   rs.next()   ){  
                      System.out.print("/t"   +   rs.getString(1));  
                      System.out.println("     "+rs.getString(2));  
                    }  
              rs.close();  
              con.close();  
        }  
      }catch(Exception   e){e.printStackTrace();}  
    }  
  }  
     
     
      例子二:  
   
  import   java.sql.*;  
  public   class   Test{  
          public   static   void   main(String   args[]){  
            try{  
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
        Connection   conn   =   DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft   Access   Driver   (*.mdb)};DBQ=d:/MyDB.mdb","dba","sql");    
        Statement     stmt=conn.createStatement();      
        ResultSet     rs=stmt.executeQuery(     "select   *   from   person");      
        while     (rs.next())   {      
            System.out.println(rs.getString(1)+     "   ,   "+rs.getString(2));      
          }      
        stmt.close();      
        conn.close();      
        }      
        catch     (Exception     e)     {      
          e.printStackTrace();      
          System.out.println(     "error:     "+     e.getMessage());      
          }      
          }  
  }   
     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值