CYQ.DBImport:[支持Access/Mssql2000/2005/2008/Oracle/MySql/Sqlite]軟件采用.net 4.0 編寫,基于CYQ.Data 開發(fā)的,一款支持從一種數(shù)據(jù)庫(kù)中反向工程生成多種數(shù)據(jù)庫(kù)腳本和多數(shù)據(jù)庫(kù)間批量互導(dǎo)數(shù)據(jù)功能的小工具。若xp系統(tǒng)運(yùn)行錯(cuò)誤(未裝.net framework 4.0 組件的請(qǐng)自行百度下載安裝)。涉及到SQLite數(shù)據(jù)庫(kù)操作時(shí),由于sqlite區(qū)分x86和x64,請(qǐng)根據(jù)自己的系統(tǒng)解壓相應(yīng)的sqlite組件到目錄下。
如果涉及到Oracle,需要使用Oracle ODP.NET:
oracle 11 請(qǐng)解壓Oracle.DataAccess.dll組件到目錄下
oracle 12 請(qǐng)解壓Oracle.ManagedDataAccess.dll 組件到目錄下
相比上一版本的主要功能更新:
1:優(yōu)化MySql的導(dǎo)入效率。
2:增加定時(shí)功能(B格提升到時(shí)時(shí)數(shù)據(jù)同步功能)。
3:優(yōu)化導(dǎo)出的表腳本和數(shù)據(jù)腳本。
4:從.NET 2.0 升級(jí)編繹成.NET 4.0 版本:(主要是為了支持Oracle:Oracle.ManagedDataAccess.dll 是4.0編繹的)
5:剛補(bǔ)充處理了字符轉(zhuǎn)義問(wèn)題(包括:生成SQL數(shù)據(jù)腳本、Mysql的指Load Data 語(yǔ)句的數(shù)據(jù))
DBImport V3.5介紹:
1:主圖:界面的變化主去掉了存儲(chǔ)過(guò)程分頁(yè)選項(xiàng),增加了定時(shí)功能配置項(xiàng)
定時(shí)功能介紹:(用戶給我提醒:增加定時(shí)功能,那么軟件就具備了時(shí)時(shí)數(shù)據(jù)同步功能,而且還是跨數(shù)據(jù)庫(kù)的)
于是,軟件的B格一下子就提升起來(lái)了,因?yàn)槭袌?chǎng)上的數(shù)據(jù)同步軟件都很昂貴,而且只適配同類數(shù)據(jù)庫(kù)。
現(xiàn)在,大伙多了一種簡(jiǎn)單的選擇。
定時(shí)功能使用介紹:
1:打勾定時(shí)(按天或按間隔)=》操作選擇會(huì)自動(dòng)切換到第四選項(xiàng)(按主鍵自動(dòng)識(shí)別更新或插入)
2:勾選Check【Time...】(如果表存在EditTime或UpdateTime字段,會(huì)自動(dòng)根據(jù)此標(biāo)識(shí)選出最新更新的數(shù)據(jù))
3:開始導(dǎo)數(shù)據(jù)【如果要停止,把打勾的定時(shí)取消即可】
PS1:時(shí)間字段的名稱是可以配置的,見軟件目錄的Config.txt文件。
PS2:下面的Where條件也增加了一個(gè)標(biāo)簽[EXETIME],適用于需要自定義條件的的定時(shí)器。
應(yīng)用場(chǎng)景:
之前發(fā)布了ASP.NET Aries 框架的示例站,結(jié)果總有人搗亂,改密碼,刪數(shù)據(jù)搞破壞,影響其它人使用。
每次都是用戶提醒我說(shuō)賬號(hào)登陸不了,要不菜單不見了,我只好默默打開電腦,開了DBImport,從本機(jī)導(dǎo)數(shù)據(jù)還原回去,累啊....
現(xiàn)在把DBImport扔上去,定時(shí)半小時(shí)更新數(shù)據(jù)回去,一下子省心了,再也不用擔(dān)心這些流氓用戶破壞數(shù)據(jù)了。
如果你也有演示站,怕用戶刪數(shù)據(jù),呵呵,扔個(gè)DBImport上去,設(shè)個(gè)定時(shí),管你愛(ài)刪不刪。
2:主圖2:界面調(diào)整了數(shù)據(jù)庫(kù)的順序,增加了Xml選項(xiàng)
這里優(yōu)化了幾個(gè)點(diǎn):
1:顯示數(shù)據(jù)腳本時(shí),從同步變成線程(有用戶反應(yīng)字段多時(shí)會(huì)卡)
2:修正Txt和Xml的導(dǎo)出數(shù)據(jù)腳本(為Json格式的文本和Xml格式的Xml)
3:導(dǎo)出MSSQL數(shù)據(jù)腳本對(duì)于nvarchar等n開頭字段,增加:N''(有用戶反應(yīng)不帶N,英文環(huán)境下中文亂碼)
4:導(dǎo)出的腳本處理Bit類型,統(tǒng)一轉(zhuǎn)為1,0數(shù)據(jù)。(之前MySql必須False,MSSQL必須'False‘,有沒(méi)有引號(hào)都要細(xì)心處理。)
3:主圖3:數(shù)據(jù)庫(kù)鏈接示例,根據(jù)不同的數(shù)據(jù)庫(kù)類型在這里選擇示例鏈接
主要說(shuō)明:
軟件目錄下有(使用說(shuō)明必看.txt),像SQLite、Sybase、Oracle,是需要根據(jù)情況解壓對(duì)應(yīng)的DLL再運(yùn)行軟件使用的。
4:關(guān)于MySQL批量執(zhí)行的技術(shù)說(shuō)明
1:MySql.Data.dll下有個(gè):MySqlBulkLoader類,適用于批量插入。
2:看了一下源碼,底層還是調(diào)用的Load Data 語(yǔ)法。
3:所以框架去調(diào)用Load Data語(yǔ)法實(shí)現(xiàn)。
4:發(fā)現(xiàn)Load Data 語(yǔ)法不支持二進(jìn)制等數(shù)據(jù)。
5:發(fā)現(xiàn)Load Data 語(yǔ)法還不支持Bit類型(因?yàn)锽it類型在Mysql還是二進(jìn)制)
6:框架在處理時(shí):如果數(shù)據(jù)是由數(shù)字、字符串,時(shí)間類型的,走Load Data,反之則走原來(lái)的事務(wù)。
介紹:
功能1:反向工程,從任意一種數(shù)據(jù)庫(kù)生成另外一種數(shù)據(jù)庫(kù)腳本
功能2:導(dǎo)數(shù)據(jù)功能:從任意一種數(shù)據(jù)庫(kù)導(dǎo)數(shù)據(jù)到另外一種數(shù)據(jù)庫(kù)
功能3:生成數(shù)據(jù)庫(kù)設(shè)計(jì)文檔,從任意一種數(shù)據(jù)庫(kù)生成任意的數(shù)據(jù)庫(kù)類型數(shù)據(jù)庫(kù)文檔
更新日志:
V1.0 版本
內(nèi)含Sqlite(x86,64位操作系統(tǒng)下運(yùn)行請(qǐng)自行下載)和MySql兩個(gè)dll]
V2.0 版本[增加自定義條件、SQL視圖、導(dǎo)出數(shù)據(jù)庫(kù)腳本、導(dǎo)出數(shù)據(jù)庫(kù)設(shè)計(jì)文檔等功能]
V3.5中文版[采用CYQ.Data V5引擎,更新功能:增加定時(shí)功能、處理腳本轉(zhuǎn)義]