基于RMI+XML的简单JDBC代理


1. 前提:
一台电脑上有一个收集门卡数据的Access数据库, 要从远端访问必须共享成可读写才能实时读取数据, 而且考虑到不能被其它人读写,
要只对某些人有权限, 在客户端也必须用此用户登录执行. 比较不方便. 所以考虑用xml+rmi来传递数据.
2. 实现
xml 用jdom
实现PrepareStatement, 返回ResultSet,或者Update的数量.
因为建立和关闭连接很浪费时间, 而且本程序不支持Transaction, 所以只采用一个Connection共用.
3. 说明:
  1. steeven.xml.sql定义xml SQL的基本接口和简单实现
  2. steeven.rmi.sql定义RMI实现的connection和Server
  3. gate.server是简单的服务器和客户端
4. todo:
  1. rmi poplicy要完善
  2. 其实xml只是充当数据传递媒介, 不是对外接口, 应该可以用更简单的rowSet实现.(忙了半天, 就当做练习了)
  3. 测试.
5. 声明:
  版权没有, 翻版不揪


steeven@kali.com.cn
qq: 7461522
Jan 08,2002


代码下载请到这里:
http://www.starmate.com.cn/bbs/read.php?bbs=48&id=1048#subject1048


在远程主机上: 运行rmiserver, 然后启动本服务
java -jar -Djava.rmi.server.codebase=file:d:/tmp/gate.jar -Djava.security.policy=file:rmi.policy gate.jar
                                          ~~~~~~~~~~~~~~~
注意:codebase参数需要绝对路径


客户端执行
steeven.gate.server.testClient.java



if u start trace in ODBC, it will be very very slow. close it to speed up.



Type supportted & convertions(JDBC->java.sql.Types):
NULL
Boolean -> bit
byte -> tinyint
short -> small int
int -> integer
long -> bigint
float
double
bigDecimal->numeric
string -> varchar / long vchar
bytes -> varbinary / long varbinary
date
time
timestamp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于RMI的学生成绩管理系统是一种分布式系统,它使用Java RMI技术实现了学生成绩的管理和查询。该系统由服务器程序和客户端程序组成,服务器程序负责管理学生成绩数据,客户端程序则提供了用户界面,允许用户查询学生成绩。 以下是该系统的实现步骤: 1. 定义远程接口 定义一个远程接口,该接口包含了查询学生成绩的方法。例如: ```java public interface ScoreService extends Remote { public List<Score> getScores(String studentId) throws RemoteException; } ``` 2. 实现远程接口 实现远程接口的类必须继承UnicastRemoteObject类,并实现远程接口中定义的方法。例如: ```java public class ScoreServiceImpl extends UnicastRemoteObject implements ScoreService { public ScoreServiceImpl() throws RemoteException { super(); } public List<Score> getScores(String studentId) throws RemoteException { // 查询学生成绩 List<Score> scores = new ArrayList<Score>(); // ... return scores; } } ``` 3. 注册远程对象 在服务器程序中,需要将远程对象注册到RMI注册表中,以便客户端程序可以访问该对象。例如: ```java ScoreService scoreService = new ScoreServiceImpl(); Registry registry = LocateRegistry.createRegistry(1099); registry.rebind("ScoreService", scoreService); ``` 4. 连接远程对象 在客户端程序中,需要连接到远程对象,以便查询学生成绩。例如: ```java String url = "rmi://localhost/ScoreService"; ScoreService scoreService = (ScoreService) Naming.lookup(url); List<Score> scores = scoreService.getScores("123456"); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

steeven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值