西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

DBImort批量導數(shù)據(jù)庫工具

V3.3 中文版
  • DBImort批量導數(shù)據(jù)庫工具V3.3 中文版
  • 軟件大小:1.3M
  • 更新時間:2014-06-04 11:53
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國產(chǎn)軟件 / 免費軟件 / 數(shù)據(jù)庫類
  • 軟件等級:4級
  • 應用平臺:Win7
  • 官方網(wǎng)站:http://elephantinaurance.com
  • 應用備案:
好評:50%
壞評:50%

軟件介紹

基于CYQ.Data 開發(fā)的,一款支持從一種數(shù)據(jù)庫中反向工程生成多種數(shù)據(jù)庫腳本和多數(shù)據(jù)庫間批量互導數(shù)據(jù)功能的小工具。

功能1:反向工程,從任意一種數(shù)據(jù)庫生成另外一種數(shù)據(jù)庫腳本

功能2:導數(shù)據(jù)功能:從任意一種數(shù)據(jù)庫導數(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]

使用介紹:CYQ.DBImport 數(shù)據(jù)庫反向工程及批量導數(shù)據(jù)庫工具

V2.0 版本[增加自定義條件、SQL視圖、導出數(shù)據(jù)庫腳本、導出數(shù)據(jù)庫設(shè)計文檔等功能]

V3.3中文版[采用CYQ.Data V5引擎,更新時間(2014-06-02)]

(PS:工具已支持網(wǎng)友反映的Oracle的ODP.NET組件)

DBImport V3.3版本更新的內(nèi)容如下:

1:增加MSSQL、MySql、Oracle間的數(shù)據(jù)互導時,同時轉(zhuǎn)換相關(guān)的字段說明。

PS:導數(shù)據(jù)的時候,把說明也帶過去,如果你想復制公司的一個數(shù)據(jù)庫,又沒有導入導出備份等權(quán)限時,用這工具導就O了。

2:數(shù)據(jù)庫腳本導出增加字段說明腳本。

PS:有了1,2也順理出來了。 

3:增加小數(shù)位的處理,各數(shù)據(jù)間互導時不會出現(xiàn)精度丟失。

PS:之前的版本在小數(shù)位上,如果需要精準導過去,需要手工處理下生成的表結(jié)構(gòu),改好小數(shù)再導,這次直接做足這方面的事了。 

4:數(shù)據(jù)庫文檔導出增加小數(shù)位字段顯示。

PS:有了3,4也順理出來了。 

5:增加N種數(shù)據(jù)類型的處理,這些數(shù)據(jù)類型可能不見常。

PS:這個說的比較泛,是因為把MSSQL的所有類型都給處理了,底層代碼也改了不少,所以東西太多就用更泛的詞來解釋了。

6:配置項增加是否使用存儲過程分頁設(shè)置。

PS:由于底層CYQ.Data框架去掉Oracle的分頁存儲過程,對于MSSQL的分布存儲過程也增加了配置項可不啟用,所以軟件上也多了這么個配置項。

7:配置項增加以下操作項:

A:批量插入【包含主鍵】

B:批量插入【忽略主鍵】

C:批量更新【根據(jù)主鍵自動識別】

D:插入或更新【根據(jù)主鍵自動識別】

PS:這個功能很強大,通過D選項,幾乎可以實現(xiàn)兩個數(shù)據(jù)庫間的數(shù)據(jù)同步,而且重復導N次也不怕不怕了。 

新版上圖:

分享本次版本更新遇到的問題:

1:MSSQL:

A:timestamp 類型,存儲的是二進制數(shù)據(jù),其它數(shù)據(jù)庫類型是日期,需要特殊處理。

B:識別各數(shù)據(jù)庫版本號,可以通過Connection對象的ServerVersion屬性獲取,以前竟然沒在意這個字段。

C:使用SqlBulkCopy批量插入,要注意數(shù)據(jù)長度問題,如果長度被截斷,會引發(fā)MSSQL服務直接掛掉,很變態(tài)的結(jié)果。 

D:numeric 類型木有對應的SqlDbType。

E:當where in id(1,2,3,4,...) 表達式直接上1萬時,MSSQL2000直接就超時掛了,其它版本數(shù)據(jù)庫正常。 

F:MSSQL2000 木有Xml字段,同樣也木有max相關(guān)的東西,都需要轉(zhuǎn)換其它類型處理。 

G:向MSSQL數(shù)據(jù)庫里插二進制數(shù)據(jù),可以這么整:

UPDATE AllType SET
b5=newid(),
-- b7='<aa>dddd</aa>'
a1=(SELECT * FROM OPENROWSET(BULK N'C:\Users\cyq\Pictures\ico\taobao.ico', SINGLE_BLOB) AS aa)

WHERE id=1

2:SQLite:

A:如果字段為自增,那么這個字段必須為主鍵,而且只能存在這一個主鍵。

B:如果為自增加,數(shù)據(jù)庫腳本關(guān)鍵字字義必須提前,不能后面定義,如:

正解的:
"ID" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
錯誤的:
"ID" INTEGER  AUTOINCREMENT NOT NULL,
PRIMARY KEY ("ID") 

C:對于GUID類型的字段,由于存儲結(jié)構(gòu)為16進制,所以查詢比較麻煩,需要進行以下的轉(zhuǎn)換后,才能進行比較查詢:

string gv=BitConverter.ToString(new Guid(“509e4e37-43ed-4e3d-b3bc-1c0929f0d151”).ToByteArray()).Replace("-", ""); 

最后的 條件就變成where id=x'gv這串東西'

3:Access:

A:對于GUID,正常是where id='509e4e37-43ed-4e3d-b3bc-1c0929f0d151',但是這種條件只有在查詢和刪除時是正常的,更新的時候,還得這么寫:

where id='{509e4e37-43ed-4e3d-b3bc-1c0929f0d151}' 所以有事沒事都自己補加個括號吧。

4:MySql:

A:對于Text或Blob字段,不能設(shè)置為主鍵。

B:對于TinyInt字段,想用0-255,應該定義成:TinyInt(3) UNSIGNED

C:只能存在一個自增列,若存在,必須定義為主鍵。 

D:(中文內(nèi)容或注釋)亂碼問題還是去配置MySql安裝目錄下my.ini的編碼。 

5:Oracle:

A:對于設(shè)置為Not Null 屬性的字段,不允許插入空值,解決的方法是插入一個空的字符串。

B:ORA-08002: 序列 SEQ1.CURRVAL 尚未在此會話中定義,這個問題需要先調(diào)用SEQ1.nextval。

C:對于where id in(1,2,3,4,5...) 最大表達式為1000,超過這個數(shù),需要分拆成where id in(1,2,..1000) or id in(1001,1002...2000)...

D:批量執(zhí)行多條語句時,一般可以用:

begin
    語句1;
    語句2;
    語句3;
end;

但是也有用不了的時候,比如語句是comment on column 表.字段 is 說明。解決的方法是分折成一條一條執(zhí)行了。

這兩天只要將軟件上的聯(lián)系作者(Tab)下的本地信息發(fā)往聯(lián)系信息下的郵箱地址,將有概率獲得隨機送出的軟件注冊碼。

軟件截圖

DBImort批量導數(shù)據(jù)庫工具 V3.3 中文版

其他版本下載

發(fā)表評論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評論 > 字數(shù): 0/500

TOP
軟件下載