MySQLCYQ.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:双击运行,见:主界面

MySQL 1

说明:

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

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

 

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

MySQL 2

说明:

ReadMe:有各种数码库链接示例Demo,不用操心无见面写。

Tables:数据库的申

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

 

3:[唯独选取步骤]分选ViewDBSql,查看反为变化的表脚本,若不合意,还可以协调修改。

 

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

MySQL 3

 

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

MySQL 4

说明:

1:点击左右底说明,再择右侧的DalType,就可以看到变化不同之申结构。

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

点击Connect成功后即便死灰复燃可用状态。

 

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

MySQL 5

说明:

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

 

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

MySQL 6

说明:

1:Import By
Page:是凭分页查询并导数据,如果数据量很老,最好是使这种措施展开,否则默认一次性读取所有数据后重新展开扦插时,读数据时虽卡壳坏了。

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

 

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

MySQL 7

 

总结:

比如工具是依据CYQ.Data
数据框架完的,欢迎使用和关爱CYQ.Data。

 

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

 

其他附加哆嗦几句:

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

2:开源!=免费,不清楚的先上网看下有关材料,当然,没起源为未必然是收费的。

3:索要源码时,问下团结,你还贡献了什么?别只了解索取,人家上辈子应该没有少你呀,需要而今生苦苦的讨账或漫骂。

 

网站地图xml地图