參考文章,原文地址:http://blog.csdn.net/cicada688/article/details/7802881
問題1:sqlserver數據庫直接轉oracle。字段類型由sql server的類型轉換到oracle類型
問題2:sql server的字段有大小寫的問題。需要全部轉為大寫的形式
----------------------------------------------------
Powerdesigner內將數據庫的配型轉換為Oracle類型
這樣字段的類型都切換為Oracle類型的
-------------------------------------------------字段全部修改為大寫的方式
使用方法:進入PowerDesigner,打開需要轉換的PDM,在菜單欄找到:Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X調出腳本執行窗口,輸入下邊的代碼就可以了。
腳本如下:
'***************************************************************************** '文件:powerdesigner.ucase.VBs '版本:1.0 '功能:遍歷物理模型中的所有表,將表名、表代碼、字段名、字段代碼全部由小寫改成大寫; ' 並將序列的名和代碼由小寫改成大寫。 '用法:打開物理模型,運行本腳本(Ctrl+Shift+X) '備注: '***************************************************************************** dim model 'current model set model = ActiveModel If (model Is Nothing) Then MsgBox "There is no current Model" ElseIf Not model.IsKindOf(PdPDM.cls_Model) Then MsgBox "The current model is not an Physical Data model." Else ProcessTables model ProcessSequences model End If '***************************************************************************** '函數:ProcessSequences '功能:遞歸遍歷所有的序列 '***************************************************************************** sub ProcessSequences(folder) '處理模型中的序列:小寫改大寫 dim sequence for each sequence in folder.sequences sequence.name = UCase(sequence.name) sequence.code = UCase(sequence.code) next end sub '***************************************************************************** '函數:ProcessTables '功能:遞歸遍歷所有的表 '***************************************************************************** sub ProcessTables(folder) '處理模型中的表 dim table for each table in folder.tables if not table.IsShortCut then ProcessTable table end if next '對子目錄進行遞歸 dim subFolder for each subFolder in folder.Packages ProcessTables subFolder next end sub '***************************************************************************** '函數:ProcessTable '功能:遍歷指定table的所有字段,將字段名由小寫改成大寫, ' 字段代碼由小寫改成大寫 ' 表名由小寫改成大寫 '***************************************************************************** sub ProcessTable(table) dim col for each col in table.Columns '將字段名由小寫改成大寫 col.code = UCase(col.code) col.name = UCase(col.name) next table.name = UCase(table.name) table.code = UCase(table.code) end sub
字段全部被替換成了大寫。