CYQ.DBImport 数据库反向工程以及批量导数据库工具 V1.0 发布

[Tip:2011-05-19
14:55横修正个别Bug后再也上污染了转,之前下载的新又下载。]

 

杂七几句子:

由打VPS之后,打算以
秋色园QBlog 搬迁,也想拿当下底Access数据库换成其他数据库。

是因为VPS只发512M内存,装了系统都赶紧300M,跑MSSQL2005极其艰难,所以即使不装了。

刚巧系统默认装了MySql,于是便打算以MySql中走一下。

 

秋色园QBlog 一起来就是用上了CYQ.Data 的大多数据库解析标签,能分析各数据库的差异化代码或函数。

故而换数据库是几乎是0成本的,代码是不用动的,唯一要想的便是怎生成MySql的申结构与将数据导过去。

 

遂当第一影响就是上网搜“Access导数据到MySql”的工具:

1:好不容易下了一个,安装后默认带插件导航网页,只能说一样望RI,然后马上卸了,还得手动删除插件文件,这个纠结。

2:再后来,搜到一个娇小玲珑的家伙,看似能导,导了几乎漫长数后就从未影响了,结果同样看,是独Demo版本,这生再也纠结了。

3:再之后,寻到了“Navicat for
MySQL”,用它们导数据,3万大多章于我导不见了2万大抵,特纠结。

而是有个便宜,就是援着特别成了发明结构,可惜这表明结构为不实在,只能对付,数据类型对无达号,还得自己大大的转移一下:

扣押本的Bit生成后变成任何品类,就随手将MySql也转移成Bit,结果发现数据导不进去了,因为Access是true/false,MySql是1/0,报数据长度too
long,本来文章就是撇下了累累,这又来个种类不对称,纠结着带点控制。

4:问以前同事发生没来什么好工具,同事说,你还是要好写代码吧。没折,就决定好写代码了。

 

刚好
CYQ.Data 的MDataTable已兑现了批量栽[匪带来起增ID]跟批量更新功能[按需更新]。

 

怀念着,把她扩展一下,增加拉动ID的插,就变成了批量传数据功能了:

于是乎起忙的敲代码,做测试,在各个数据库间转来复去,折腾了几乎龙,虽然中被有些问题卡住了大老,比如MySQL的字符集问题,不过要算见成果了。

批量导入功能实现后,写了只DOS版本工具,用于批量管方方面面数据库数据从Access导到MySQL中。

从此为秋色园在MySQL跑了同样圈,遇到了累累MySql的题材,如动则就是十几要几十秒的询问,太过好,发动群众测试之后:

意识是默认配置问题,需要拿内存配置上,修改my.ini增加内存后,速度为正常上去了。

可惜VPS内存不多,和MySql耗不起,只好作罢,于是顺路把数量导到SQLite、Oracle、Sql2000下蛋呢飞了一样环绕。

修正了各自函数解析后,全部正常化运行,SQLite下发现速度和Access没啥区别,Oracle下要充实索引,速度才正常。

手上:秋色园示例版本:http://demo.cyqdata.com/ 运行在Sql2000的数据库下。

可是秋色园目前照运行在Access数据库版本被。

 

此时,CYQ.Data 的MDataTable已具了批量传数据工具,按说来应该很有力了。

 

就下几乎龙若“领域让”挺热的,于是还要出了一个想方设法:

让CYQ.Data也“驱动”一下,若从MDataTable的Columns列结构,可以反向生成不同数据库的说明结构,这样以使用CYQ.Data开发之时段,就可得“Code
First”了,可以不用优先考虑数据库问题。

重新接着,又转移来还去当每数据库间,调优代码,数据类型转换,测试,生成,示例,代码,修改,再测试,一积聚又同样积聚,又花费了几龙,终于为做到了,CYQ.Data
强大的反向工程效益吗完成了。

 

为还有益之动,于是花了一个晚形容了单
CYQ.DBImport 工具,再花了平天调试代码,终于啊就是出矣以下的情:

 

主功能介绍:

 

1:数据库反向工程效益

可以从任意
CYQ.Data 支持之数据库,生成其它数据库脚本。

当前支持之数据库:Access、Sql2000/2005/2008、Oracle、MySql、Sqlite。

 

2:批量导数据功能

可以于随机数据库中将数据导向另一个数据库。

由负有反向生成其他数据库脚论功能,因此会自动检测是否留存指定表:

若表不存在,则自动创建表;

若表存在,则直接导入数据。

 

界面与用介绍:

 

1:双击运行,见:主界面

Oracle 1

说明:

1:DBConnection From:从哪个数据库导数据。

2:DBConnection To    :把数据导向哪个数据库。

 

2:输入DBConnection From的数据库链接,点击链接Connect

Oracle 2

说明:

ReadMe:有各种数码库链接示例Demo,不用顾虑无会见刻画。

Tables:数据库的申

(Un)Check All:对表的全选和反选。

 

3:[然卜步骤]择ViewDBSql,查看反为变化的表脚本,若未满意,还得好修改。

 

A:从Mssql的Blog_File表生成Access表结构的截图

Oracle 3

 

B:从Mssql的Blog_Visit表生成MySql表结构的截图

Oracle 4

说明:

1:点击左右之阐明,再捎右侧的DalType,就可以看到变化不同的发明结构。

2:Execute DBSql:可以履任意SQL告诉句,默认不可用,把DBConnection
To的链接字符串填上,

点击Connect成功后就过来可用状态。

 

4:填写DBConnection To的数据库链接,点击链接:Connect

Oracle 5

说明:

链接成功后:Execute DBSqlImport Go[导数据]平复可用状态。

 

5:选择要导数Oracle据的表明,根据需要勾选[Import By Pager],点击“Import
Go”,开始导数据

Oracle 6

说明:

1:Import By
Page:是凭分页查询并导数据,如果数据量很酷,最好是运这种方式开展,否则默认一次性读取所有数据后重新拓展插队时,读数据常常便咬死了。

2:根据说明,分页导数据时,若DBConnection
From的链接为Mssql/Oracle数据库,则需来CYQ.Data相应的分页存储过程,具体可以到端提示的网址上摸,新近刚宣布了,秋色园和博客园都出。

 

6:批量导数据库完成了,提示完成

Oracle 7

 

总结:

按照工具是因CYQ.Data
数据框架成功的,欢迎使用与关爱CYQ.Data。

 

CYQ.DBImport 下载地址:http://www.cyqdata.com/download/article-detail-426

 

别附加哆嗦几句:

1:不要问源码,该通告时见面颁布。

2:开源!=免费,不知底的先上网看下相关资料,当然,没开始源也非自然是收费的。

3:索要源码时,问下团结,你都奉献了啊?别只掌握索取,人家上辈子应该没有少你呀,需要您今生苦苦的讨账或漫骂。

 

相关文章