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