连不了,必须通过ODBC,没有Access的JDBC驱动。

解决方案 »

  1.   

    import java.sql.*;
    public class ConnAccess {
    public static void main (String args[]) {
    String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
    String sConnStr="jdbc:odbc:driver={SQL Server};SERVER=服务器名;uid=sa;pwd=sa;database=数据库名";
    Connection conn=null;
    try {
    Class.forName(sDBDriver);
    }
    catch (java.lang.ClassNotFoundException e) {
    System.err.println(e.getMessage());
    }
    try {
    conn=DriverManager.getConnection(sConnStr);
    }
    catch (SQLException ex) {
    System.err.println(ex.getMessage());
    }
    }
    }
      

  2.   

    上面是jdbc-odbc桥方式,但不用建DSN,连SQL Server的,谁能给出这种方式连接 access 的sConnStr
      

  3.   

    /*
      用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:\\testsql1.mdb";
       
       Connection con = DriverManager.getConnection(dbUrl,"","");   
       Statement state = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
       //执行SQL语句
       String sql = "create table tsc (sno char(5))";
       //ResultSet rs = state.executeQuery(sql);
       state.executeQuery(sql);
       //打印测试
       /*if( rs != null ){
           while( rs.next() ){
              System.out.println("\t" + rs.getString(1));
          }
          rs.close();
          con.close();
       }*/
      }catch(Exception e){e.printStackTrace();}
     }
    }//End class MobileDatabase
      

  4.   

    /*
      用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:\\testsql1.mdb";
       
       Connection con = DriverManager.getConnection(dbUrl,"","");   
       Statement state = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
       //执行SQL语句
       String sql = "create table tsc (sno char(5))";
       //ResultSet rs = state.executeQuery(sql);
       state.executeQuery(sql);
       //打印测试
       /*if( rs != null ){
           while( rs.next() ){
              System.out.println("\t" + rs.getString(1));
          }
          rs.close();
          con.close();
       }*/
      }catch(Exception e){e.printStackTrace();}
     }
    }//End class MobileDatabase