本地连接远程access数据库

本文主要参考:https://blog.csdn.net/qq_25902435/article/details/77153401
第一步:
在B服务器中创建access数据

1、创建access数据库前,确保你的计算机中已经安装了MS office软件且配置了JAVA运行环境,顺便提个醒,下面的B服务器中要使用32位的jdk。

2、创建一个测试数据库,UserInfo.mdb(文件版本为office200-2003) ,新建表Users,字段ID、name、password,time,并插入记录。

3、UserInfo.mdb放置在E:/mydb目录下。

第二步:
在B服务器中设置ODBC数据源

1、 使用”win”+r组合键,调出“运行”对话框,输入”odbcad32”调出“ODBC数据源管理器”。

2、 选择“系统DSN页签,点击“添加”按钮,创建新数据源,选择“Microsoft Access Driver(*.mdb)”。点击“完成”,弹出“ODBC Microsoft Access安装”对话框,配置如下图:
ODBC Microsoft Access 配置

图1 ODBC Microsoft Access 配置

注意: 在图1中,须选择对应的access数据库,做法:点击”选择(S)…”,选择数据库文件的路径。
如果你的access数据库有密码的话,点击高级,设置一个一样的密码。如图:
这里写图片描述

3、 确定完成。

第三步:
在B服务器中配置并启动RmiJdbc服务

1、从http://forge.ow2.org/project/showfiles.PHP?group_id=8&release_id=623下载RmiJdbc.jar包。

2、 配置系统环境变量。右键”计算机”——“属性”——“高级系统设置”——“环境变量”,在“系统变量”中,新建变量名为CLASSPATH的系统变量,并配置其值。

CLASSPATH=; E:\RmiJdbc3.3\RmiJdbc\dist\lib\RmiJdbc.jar

注意:E:/RmiJdbc/dist/lib/RmiJdbc.jar为Rmijdbc.jar放置的目录

3、 使用”win”+r组合键,输入”cmd”,调出命令提示行对话框,输入:

Java org.objectweb.rmijdbc.RJJdbcServer

运行结果如下:
这里写图片描述
图2 RmiJdbc服务启动

注意:RmiJdbc服务启动后不能关闭,即不能关闭图2所示对话框。否则将提示:Java.rmi.ConnectException: Connection refused to host错误。

第四步:
在A服务器中编写测试程序

public static void main(String[] args) {
        try {
            Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
            String strurl = "jdbc:rmi://111.11.1.1/jdbc:odbc:sundy4";
            java.sql.Connection c = DriverManager.getConnection(strurl, "", "199302"); 
             java.sql.Statement st = c.createStatement();
             java.sql.ResultSet rs = st.executeQuery("select * from Users");
             java.sql.ResultSetMetaData md = rs.getMetaData(); 

             while(rs.next()) {  

                    System.out.println;  

                    for(int i=1; i<= md.getColumnCount(); i++) {  

                      System.out.print(rs.getString(i) + " | ");  

                    }  

                  }  

                  rs.close();  

        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

测试结果:
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值