CYQ.DBImport:[支持Access/Mssql2000/2005/2008/Oracle/MySql/Sqlite]软件采用.net 4.0 编写,基于CYQ.Data 开发的,一款支持从一种数据库中反向工程生成多种数据库脚本和多数据库间批量互导数据功能的小工具。若xp系统运行错误(未装.net framework 4.0 组件的请自行百度下载安装)。涉及到SQLite数据库操作时,由于sqlite区分x86和x64,请根据自己的系统解压相应的sqlite组件到目录下。
如果涉及到Oracle,需要使用Oracle ODP.NET:
oracle 11 请解压Oracle.DataAccess.dll组件到目录下
oracle 12 请解压Oracle.ManagedDataAccess.dll 组件到目录下
1:优化MySql的导入效率。
2:增加定时功能(B格提升到时时数据同步功能)。
3:优化导出的表脚本和数据脚本。
4:从.NET 2.0 升级编绎成.NET 4.0 版本:(主要是为了支持Oracle:Oracle.ManagedDataAccess.dll 是4.0编绎的)
5:刚补充处理了字符转义问题(包括:生成SQL数据脚本、Mysql的指Load Data 语句的数据)
1:主图:界面的变化主去掉了存储过程分页选项,增加了定时功能配置项
定时功能介绍:(用户给我提醒:增加定时功能,那么软件就具备了时时数据同步功能,而且还是跨数据库的)
于是,软件的B格一下子就提升起来了,因为市场上的数据同步软件都很昂贵,而且只适配同类数据库。
现在,大伙多了一种简单的选择。
1:打勾定时(按天或按间隔)=》操作选择会自动切换到第四选项(按主键自动识别更新或插入)
2:勾选Check【Time...】(如果表存在EditTime或UpdateTime字段,会自动根据此标识选出最新更新的数据)
3:开始导数据【如果要停止,把打勾的定时取消即可】
PS1:时间字段的名称是可以配置的,见软件目录的Config.txt文件。
PS2:下面的Where条件也增加了一个标签[EXETIME],适用于需要自定义条件的的定时器。
之前发布了ASP.NET Aries 框架的示例站,结果总有人捣乱,改密码,删数据搞破坏,影响其它人使用。
每次都是用户提醒我说账号登陆不了,要不菜单不见了,我只好默默打开电脑,开了DBImport,从本机导数据还原回去,累啊....
现在把DBImport扔上去,定时半小时更新数据回去,一下子省心了,再也不用担心这些流氓用户破坏数据了。
如果你也有演示站,怕用户删数据,呵呵,扔个DBImport上去,设个定时,管你爱删不删。
2:主图2:界面调整了数据库的顺序,增加了Xml选项
这里优化了几个点:
1:显示数据脚本时,从同步变成线程(有用户反应字段多时会卡)
2:修正Txt和Xml的导出数据脚本(为Json格式的文本和Xml格式的Xml)
3:导出MSSQL数据脚本对于nvarchar等n开头字段,增加:N''(有用户反应不带N,英文环境下中文乱码)
4:导出的脚本处理Bit类型,统一转为1,0数据。(之前MySql必须False,MSSQL必须'False‘,有没有引号都要细心处理。)
3:主图3:数据库链接示例,根据不同的数据库类型在这里选择示例链接
软件目录下有(使用说明必看.txt),像SQLite、Sybase、Oracle,是需要根据情况解压对应的DLL再运行软件使用的。
4:关于MySQL批量执行的技术说明
1:MySql.Data.dll下有个:MySqlBulkLoader类,适用于批量插入。
2:看了一下源码,底层还是调用的Load Data 语法。
3:所以框架去调用Load Data语法实现。
4:发现Load Data 语法不支持二进制等数据。
5:发现Load Data 语法还不支持Bit类型(因为Bit类型在Mysql还是二进制)
6:框架在处理时:如果数据是由数字、字符串,时间类型的,走Load Data,反之则走原来的事务。
功能1:反向工程,从任意一种数据库生成另外一种数据库脚本
功能2:导数据功能:从任意一种数据库导数据到另外一种数据库
功能3:生成数据库设计文档,从任意一种数据库生成任意的数据库类型数据库文档
V1.0 版本
内含Sqlite(x86,64位操作系统下运行请自行下载)和MySql两个dll]
V2.0 版本[增加自定义条件、SQL视图、导出数据库脚本、导出数据库设计文档等功能]
V3.5中文版[采用CYQ.Data V5引擎,更新功能:增加定时功能、处理脚本转义]