email:[email protected]
聯絡人:王先生
openjweb 1.8
資料庫管理工具功能說明
由於使用
sqlserver
的
dts跨資料庫複製功能經常失敗,所以
openjweb
開發組自行開發了資料庫複製功能。
在使用
dts從
oracle
導資料到
sqlserver
失敗經常是由於以下問題造成:
(1)
主外來鍵關聯欄位的長度不一樣,
oracle
是允許的,
sqlserver
是不允許的。
(2)
oralce
的
number
型別
轉到
sqlserver
就變成
float
型別,而不是期望的
bigint
型別,如果手工設定,則需要大量的時間修改。
(3)
在
oracle
中,定義了唯一索引的字段,允許不同記錄的此唯一索引欄位是空值,只在非空的時候在檢驗是否唯一,但在
sqlserver
中,唯一索引字段空值被認為是重複的,匯入會失敗。
(4)
openjweb
資料庫管理工具具有以下功能:
(1)可為指定的資料庫生成完整的建表語句、主外來鍵、索引的
ddl語法。目前已在
oracle/sqlserver/mysql
環境下測試通過。
(2)可將指定的資料庫的定義語句翻譯成其他資料庫的定義語句,例如指定乙個
oracle
的資料來源,可按
sqlserver
的語法格式生成資料庫建表語句。
(3)利用
jdbc
從資料庫中獲取表字段元資訊,從而生成此資料庫的表字段定義說明文件。表字段的列明、長度、小數字等資訊是通過
jdbc
的呼叫獲取的,表字段的中文說明資訊是從
openjweb
的表字段屬性表中獲取的。
(4)實現跨資料庫的資料完整複製。因為使用資料庫開發工具匯出文字
sql存在以下問題:
a)由於主外來鍵關係,插入表時需要遵循主鍵表在前,外來鍵表在後的插入順序,但很多資料庫開發工具是按表名順序匯出資料的,所以匯入資料時還要進行調整。
b)二進位製欄位,例如字段不能通過純文字的方式匯出到
sql文字檔案中,所以需要通過程式直接從源庫抓取資料複製到目的資料庫,不需要中間匯出
sql文字檔案。
下面是openjweb
的資料庫管理工具的介紹:
(1)指定乙個源資料庫,並指定乙個目標資料庫型別,可生成目標資料庫的建表語法,包括建表語句、主外來鍵、索引定義語句。下圖是指定了
oracle
資料來源後,按
sqlserver
的語法結構生成
sqlserver ddl
的頁面,生成的
ddl語句用於在
sqlserver
中建立資料庫表。
上表中欄位名、資料型別、長度、小數字、可空、主鍵、預設值等字段屬性都是使用
jdbc
的標準api
從資料庫中獲取的,字段中文名和注釋是從
openjweb
平台的comm_column_def
中獲取的,表名的中文和注釋是從
openjweb
平台的comm_table_def
中獲取的。使用此工具可代替手工編寫資料庫設計文件的工作,並使得設計文件與實際系統同步。
(3)跨資料庫的資料完整複製功能(當然同型別資料庫複製也是可以的)
採用第1
步生成的語法結構建立目標資料庫後,然後可以使用資料複製功能,將所有表資料從源資料庫複製到目標資料庫,見下圖
(oracle
到mysql
的資料庫複製。本平台目前已測通
oracle
到mysql
和sqlserver
的資料庫複製):
上圖是資料複製頁面,當設定了源資料庫和目標資料庫引數後,點「開始複製」按鈕,可將源資料庫的所有資料複製到目標資料庫中。(前提是目標資料庫的表結構已按第
1步生成)。匯入時自動遵循先複製主鍵表,後複製外來鍵表的原則(多層主外來鍵也支援)。
平台因為有了上述功能,可以很方便地將最新的資料庫版本轉換為其他型別的資料庫。不再需要花費大量的時間進行資料庫轉換工作。
18 資料庫案例
add findviewbyid r.id.add delete findviewbyid r.id.delete updata findviewbyid r.id.updata select findviewbyid r.id.select liv findviewbyid r.id.liv 先建...
資料庫學習 18 變數
說明 變數由系統定義,不是使用者定義,屬於伺服器層面。注意 全域性變數需要新增global關鍵字,會話變數需要新增session關鍵字,如果不寫,缺省會話級別。使用步驟 1 檢視所有系統變數 show global variables 檢視全域性變數 show session variables 檢...
18 暑 資料庫 關於資料庫的整理
因為activiti要用到資料庫,但是忘記了密碼,試了很多網上的方法都花式報錯 重下msi的資料庫總是出現這種 mysql解除安裝教程用的這個 解除安裝完了過後重新安裝 用的菜鳥教程 其中遇到的問題 1.這裡檔案裡路徑要根據你改變,其中datadir儲存的路徑必須是乙個空檔案 可以自己新建乙個dat...