用java实现Oracle10g与SQLServer2000数据导入


将原SQLServer2000中的几个表的数据导入到同结构的Orcale10g中,原本的做法是将SQLServer2000中的数据导出成Excel文件或者是csv文件或者是xml文件,然后利用Orcale到导入工具进行导入,但是这样的做法比较庸俗,而且,若存在其它类型数据,比如说,SQLServer的datetime,二进制类型数据就导入不进去Orcale的date和blob类型中。为了解决这些问题,我采用java语言的数据对象持久化技术,进行相关的解决。

首先,利用java将SQLServer2000中的需要导出的表的数据生成数据对象持久文件.obj,然后,再利用java将其读取解析生成数据对象,最后,把数据对象赋给JDBC中的PreparedStatement对象的setObject方法中,利用jdbc将数据insert到Oracle中。

生成.obj文件的注意事项。

在读取数据库数据的时候,如果,数据量比较大的时候,采用多个文件来持久数据表数据。否则,在生成文件的时候,会抛出java.lang.OutOfMemoryError 内存溢出的异常。据我简单测试,如果文件大小超过10M时,这个异常就会抛出的,我采用文件分割来进行数据存储。就是在生成文件大于5M时,(目前,我采用5M,没有发现内存溢出异常)就自动分割成几个文件来存数据。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值