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