PowerDesigner 是Sybase 的一款優(yōu)秀的數(shù)據(jù)庫輔助設(shè)計(jì)軟件,目前沒有開發(fā)Linux 版本,同時(shí)我在Linux
下也找不到可替代的產(chǎn)品。經(jīng)過嘗試,通過wine 可以在Linux 下將PowerDesinger 版本15
很好的運(yùn)行起來,加上一些額外的努力,還可以啟用PowerDesigner 對(duì)VB Script
以及數(shù)據(jù)庫連接的支持。我把主要步驟列出來,供有興趣的朋友參考。
測(cè)試環(huán)境:
- Gentoo Linux 2.6.24-r3
- wine-1.1.0
- PowerDesigner 15 Beta 2
由于缺乏VC80的支持,PowerDesigner 15 Beta 2 的安裝程序默認(rèn)在wine 下面無法正常運(yùn)行,安裝會(huì)失敗。一種解決方法是移植已有的Windows 安裝版本。
在Windows 下安裝好PowerDesigner,然后將以下目錄copy至Linux :
然后在Windows 運(yùn)行注冊(cè)表,將以下keys 分別導(dǎo)出:
在Linux 下運(yùn)行wine regedit 導(dǎo)入以上keys, 如果出錯(cuò),那么可能需要先對(duì)文件的編碼進(jìn)行轉(zhuǎn)換:
$ recode UCS2.. *Sybase*.reg
NOTE:如果沒有recode 命令,$ emerge -av1 recode
導(dǎo)入成功之后,在Linux 下運(yùn)行注冊(cè)表工具,修改key
:[HKEY_LOCAL_MACHINE"SOFTWARE"Sybase"PowerDesigner
15"License"LicenseDirectory],將目錄修改為L(zhǎng)icense 在Linux 下存放的目錄,例如
"C:""Documents and Settings""All Users""Application Data""PowerDesigner
15"
如果一切順利,就可以用以下命令來運(yùn)行PowerDesigner了。
env WINEPREFIX="$HOME/.wine" wine "C:"Program Files"Sybase"PowerDesigner 15"pdshell15.exe"
另外一種方法是在Linux wine 下安裝VC80 支持,然后在Linux 下運(yùn)行安裝程序。
NOTE: 命令中跟在#后面的是注釋文本
在運(yùn)行安裝程序之前,按照自己的需求先準(zhǔn)備好如下環(huán)境:
此步為可選。
NOTE:如果省略這一步,請(qǐng)?zhí)鎿Q下面各節(jié)命令中的路徑.winePD/ 為.wine/
如果不希望影響原有的wine 環(huán)境,或者用于測(cè)試,可以為PowerDesigner 新建一個(gè)獨(dú)立的wine 目錄。
$ wineprefixcreate --prefix $HOME/.winePD $ export WINEPREFIX="$HOME/.winePD"
這一步是可選。
PowerDesigner 在Beta 2中引入了.Net FrameWork 2.0 支持,用于更漂亮的模型自動(dòng)排版功能,如果希望使用需要先安裝.Net 2.0 ,但.Net 2.0需要IE 5.0以上支持,安裝IE 6 可以參考 Wine AppDB - Internet Explorer 6.0,經(jīng)過嘗試是可行的。
IE 6.0安裝好之后到MS 網(wǎng)站下載.Net 2.0 安裝文件 dotnetfx.exe,放至 $HOME/.winePD/drive_c/,運(yùn)行安裝文件完成安裝。
$ wine "c:"dotnetfx.exe"
VB Script Support
這一步是可選。
首先到MS 網(wǎng)站下載合適版本的VB Script 安裝文件:WindowsXP-Windows2000-Script56-KB917344-x86-chs.exe
安裝過程參考 Wine AppDB - Visual Basic 6.0 Enterprise Edition,所不同之處是安裝的文件不一樣。
NOTE: 下面的/win/目錄是我的 Windows XP安裝分區(qū)。
$ winecfg # add libraries overwrite; set OS to Windows ME; $ cd .winePD/drive_c/windows/system32/$ for i in riched20.dll riched32.dll oleaut32.dll urlmon.dll hhctrl.ocx ; do mv $i $i.bak; done $ for i in riched20.dll riched32.dll oleaut32.dll urlmon.dll hhctrl.ocx ; do cp /win/windows/system32/$i .; done$ cp /win/windows/system32/mfc42.dll .winePD/drive_c/windows/system32$ wine "c:"WindowsXP-Windows2000-Script56-KB917344-x86-chs.exe"$ winecfg # set OS back to Windows XP
VC80 dll support
這一步必需完成以運(yùn)行PowerDesigner 15 Beta 2 安裝程序。
在網(wǎng)上下載msvbvm60.dll 和MS-VC80.MSI ,還需要去MS 網(wǎng)站下載Vitual C++ 2005 support 安裝文件 vcredist_x86.exe。然后參考以下步驟完成安裝。
$ cp Desktop/msvbvm60.dll .winePD/drive_c/windows/system32$ msiexec /i "c:"MS-VC80.MSI"$ wine "c:"vcredist_x86.exe"$ ls .winePD/drive_c/windows/winsxs/ # 確認(rèn)vcredist_x86.exe 安裝成功
Connection Profile Support
這一步是可選。
PowerDesigner 當(dāng)中支持對(duì)數(shù)據(jù)庫的連接,這是通過ODBC 驅(qū)動(dòng)程序?qū)崿F(xiàn)的,此外,PowerDeisnger也加入了對(duì)JDBC
驅(qū)動(dòng)程序的支持,其稱作Connection Profile。在Linux 下為wine
程序配置ODBC,我沒有經(jīng)驗(yàn),可能需要安裝MDAC,而通過JDBC則比較容易實(shí)現(xiàn)。對(duì)于DB2 類型的數(shù)據(jù)庫,IBM 提供一種TYPE
4的JDBC 驅(qū)動(dòng)程序,可以不需要在連接的客戶端安裝DB2 Client,僅僅擁有TYPE 4驅(qū)動(dòng)程序以及JRE
支持即可。下面的配置就是通過在wine 中配置JRE 以及DB2 JDBC TYPE 4 驅(qū)動(dòng)程序來實(shí)現(xiàn)在PowerDesigner
中對(duì)DB2 數(shù)據(jù)庫的訪問。
NOTE:Linux 世界中的libiodbc 和unixODBC 并不適用這個(gè)場(chǎng)景,其提供的ODBC 數(shù)據(jù)源并不是為wine 程序使用的。
首先需要下載Sun 的JRE安裝程序(1.4.2 for windows) 和IBM 的DB2 JDBC TYPE 4 驅(qū)動(dòng)程序(跨平臺(tái))。
NOTE:IBM 的JRE 安裝程序會(huì)檢測(cè)ibmpc 系統(tǒng)兼容性,我在wine中無法通過檢測(cè)(甚至在vmware 這樣的虛擬機(jī)中也不行),具體原因不知道,導(dǎo)致安裝失敗,因此選擇Sun的JRE。
$ winecfg # 在Libraries 中將 urlmon 臨時(shí)改為 Builtin$ wine "c:"j2re-1_4_2_18-windows-i586-p.exe"$ winecfg # 在Libraries 中將 urlmon 改回 Native$ mkdir ~/.winePD/drive_c/db2java$ cp /opt/IBM/db2/V8.1/java/db2jcc_license_cu.jar ~/.winePD/drive_c/db2java/$ cp /opt/IBM/db2/V8.1/java/db2jcc.jar ~/.winePD/drive_c/db2java/
運(yùn)行wine regedit,找到key:
[HKEY_LOCAL_MACHINE"System"CurrentControlSet"Control"Session Manager"Environmen]
添加或者修改以下2個(gè)鍵值:
CLASSPATH=C:"db2java"db2jcc.jar;C:"db2java"db2jcc_license_cu.jar;. PATH=C:"windows"system32;C:"windows;C:"Program Files"Java"j2re1.4.2_18"bin
$ regedit #add values to CLASSPATH , PATH
開始安裝PowerDesigner 15 Beta 2
下面開始真正安裝PowerDesigner。
$ winecfg # 在Libraries 中將 oleaut32 臨時(shí)改為 Builtin$ wine "c:"PowerDesigner15.exe"$ winecfg # 在Libraries 中將 oldaut32 改回 Native$ wine "C:"Program Files"Sybase"PowerDesigner 15"pdshell15.exe"
整個(gè)安裝過程應(yīng)該很順暢,如果遇到問題,可以重頭檢查一下必需的步驟。
執(zhí)行Tools - Execute Commands - Edit/Run Script,在代碼編輯框中寫入一句簡(jiǎn)單的VB Script代碼,比如: "dim s",然后點(diǎn)擊Run,如果沒有任何錯(cuò)誤彈出,說明VB Script 支持正常。
在File 菜單中點(diǎn)擊 Revers Engineer - Databases,選擇IBM DB2 UDB 8.x
Common Server - Using a datasource,瀏覽datasource,選擇Connection
Profile,Configure 一個(gè)新的數(shù)據(jù)庫連接。
點(diǎn)擊Test Connection,如果出錯(cuò),查看output (alt+1)中的messages,有助于解決問題。
解決方法:安裝VC80 dll support。
解決方法:安裝VC80 dll support。
解決方法:安裝VC80 dll support。
解決方法:在Windows 安裝中復(fù)制msvbvm60.dll 或者網(wǎng)上下載到wine 的system32 目錄。
解決方法:在Windows 安裝中復(fù)制mfc42.dll 或者網(wǎng)上下載到wine 的system32 目錄。
解決方法:檢查網(wǎng)絡(luò)連接,服務(wù)器設(shè)置,服務(wù)器地址,端口,數(shù)據(jù)庫名稱等。
解決方法:檢查wine 注冊(cè)表中CLASSPATH 是否包含正確的db2jcc.jar 全路徑,注冊(cè)表修改之后,應(yīng)該重新運(yùn)行PowerDesigner 應(yīng)用程序。
解決方法:檢查wine 注冊(cè)表中PATH 是否包含正確的到JRE bin 路徑,注冊(cè)表修改之后,應(yīng)該重新運(yùn)行PowerDesigner 應(yīng)用程序。
posted on 2009-08-30 22:31
藍(lán)劍 閱讀(4719)
評(píng)論(0) 編輯 收藏 所屬分類:
Linux