May 082012
 
This entry is part 7 of 20 in the series Matlab数据库基础班

最近在折腾一些无聊的事情。想从一个数据库中拷贝数据到另一个数据库。来源数据库是SQL Server,目标数据库是PostgreSQL,但是在网络上没有找到合适的可以直接使用的软件。

于是哥心一横,决定自己用Matlab写一个程序。原理很简单,利用JDBC,建立到两个数据库的连接,然后从来源数据库读取数据,直接写入目标数据库中。

技术上实在没有什么太多好写的内容。

第一步: 定义数据库
第二部:用database()函数打开两个链接
第三步:用exec(), fetch() 读取数据,然后用 fastinsert() 写入数据
然后就没有第四步了。

当然,要再复杂一点,可以往里面添加所谓的“断点续传”机制。做法也不难,首先从目标数据库中读取最后一个数据的标识(例如时间标志),然后在exec() 的 select 语句中添加限制条件,只读取在该时间标志之后的最新数据即可。

No related posts.

Series Navigation<< 读写数据时Matlab中Java Heap Memory溢出问题Win7x64系统下SQLite的JDBC驱动的问题 >>
Bookmark/FavoritesSina WeiboGoogle+FacebookQQTwitterYahoo BookmarksBaiduDiggEmailGoogle GmailOutlook.comEvernotePrintAIMLinkedInBlogger PostKindle ItOrkutShare

Related Posts:

  One Response to “用Matlab在数据库间拷贝数据”

  1. [...] 今天用前一篇博文《Matlab在两个数据库间复制数据》 中讲述的方法,从某个及其巨大的存有金融高频数据的SQL Server数据库中拷贝数据到自己机器上的Postgre SQL 数据库上。由于数据量很大,拷贝很久,这个倒不是问题,问题在于拷贝时间一长,Matlab就会报错:“ java.lang.OutOfMemoryError: Java heap space”,真是令人肝肠寸断啊。 [...]

 Leave a Reply

(required)

(required)


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>