如何实现动态添加Microsoft Visual FoxPro 的 ODBC 和 Access 的 ODBC

import java.sql.*;

public class TestVF {

    private static Connection con=null;
    private static Statement stmt=null;
    private static ResultSet rs=null;
    /**
    *其中dataBaseUrl为你的VF数据库所在的目录
    */
    public static void setCon(String dataBaseUrl) throws Exception {
        String strurl = "jdbc:odbc:Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB="
                + dataBaseUrl + ";Exclusive=No;";
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        con = DriverManager.getConnection(strurl);
    }
    public static void closeCon()throws Exception{
        if(rs!=null){
            rs.close();
            rs=null;
        }
        if(stmt!=null){
            stmt.close();
            stmt=null;
        }
        if(con!=null){
            con.close();
            con=null;
        }
    }

    public static void setRs(String sql)throws Exception{
        stmt = con.createStatement();
        rs = stmt.executeQuery(sql);
        
    }
    public static ResultSet getRs() throws Exception{
        while(rs.next()){
            System.out.println(rs.getString(1));
           }
        return rs;
    }
    /**
     * @param mc1035
     *其中url为传进去的目录,table为要访问的数据库表的文件的名,是DBF文件
     */
    public static void main(String[] args) {
     
        String url="e://";
        String tableName="Book表";
        String SQL="select * from "+tableName;
        
        try{
            TestVF.setCon(url);
            TestVF.setRs(SQL);
            TestVF.getRs();
            TestVF.closeCon();
            
        }catch(SQLException e){
            e.printStackTrace();
        }catch(Exception e){
            e.printStackTrace();
        }

    }

}

该程是一个完整的VF动态添加ODBC的程序,较为完整的展现了整个过程,可供读者参考。另外,VF的数据库是DBF的,所以SourceType=DBF 为,其实也可以是其他类型的,如Access,其中可以把
String strurl = "jdbc:odbc:Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB="
                + dataBaseUrl + ";Exclusive=No;";
该为
 String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=dataBaseUrl ";

可以达到一样的效果,这个笔者过也很好用,有兴趣的读者可以自己试一下。至于VF的,绝对好用,不用配置ODBC,直接添加路径就OK了,直接输入数据库表的文件名就可以访问该文件了。

本程序完全实现了VF的JDBC-ODBC的动态添加。

至于SQL2000和其他大型数据库本人不推荐使用ODBC,很简单,性能不好,像大型数据库都有专门写的JDBC驱动,可以直接下载使用。

你可能感兴趣的:(exception,数据库,String,Microsoft,null,Access)