不可不說
          隨心所欲,無往不利!
          posts - 88,  comments - 92,  trackbacks - 0

          PowerDesigner 是Sybase 的一款優(yōu)秀的數(shù)據(jù)庫輔助設(shè)計軟件,目前沒有開發(fā)Linux 版本,同時我在Linux 下也找不到可替代的產(chǎn)品。經(jīng)過嘗試,通過wine 可以在Linux 下將PowerDesinger 版本15 很好的運行起來,加上一些額外的努力,還可以啟用PowerDesigner 對VB Script 以及數(shù)據(jù)庫連接的支持。我把主要步驟列出來,供有興趣的朋友參考。

          測試環(huán)境:

          • Gentoo Linux 2.6.24-r3
          • wine-1.1.0
          • PowerDesigner 15 Beta 2

          由于缺乏VC80的支持,PowerDesigner 15 Beta 2 的安裝程序默認(rèn)在wine 下面無法正常運行,安裝會失敗。一種解決方法是移植已有的Windows 安裝版本。

          移植已有的Windows 安裝版本

          在Windows 下安裝好PowerDesigner,然后將以下目錄copy至Linux :

          然后在Windows 運行注冊表,將以下keys 分別導(dǎo)出:

          在Linux 下運行wine regedit 導(dǎo)入以上keys, 如果出錯,那么可能需要先對文件的編碼進(jìn)行轉(zhuǎn)換:

          $ recode UCS2..  *Sybase*.reg

          NOTE:如果沒有recode 命令,$ emerge -av1 recode

          導(dǎo)入成功之后,在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 下運行安裝程序。

          在Linux 下進(jìn)行安裝

          NOTE: 命令中跟在#后面的是注釋文本 

          在運行安裝程序之前,按照自己的需求先準(zhǔn)備好如下環(huán)境:

          隔離的wine 環(huán)境

          此步為可選。

          NOTE:如果省略這一步,請?zhí)鎿Q下面各節(jié)命令中的路徑.winePD/ 為.wine/

          如果不希望影響原有的wine 環(huán)境,或者用于測試,可以為PowerDesigner 新建一個獨立的wine 目錄。

          $ wineprefixcreate --prefix $HOME/.winePD  $ export WINEPREFIX="$HOME/.winePD" 
          .Net FrameWork 2.0 Support

          這一步是可選。

          PowerDesigner 在Beta 2中引入了.Net FrameWork 2.0 支持,用于更漂亮的模型自動排版功能,如果希望使用需要先安裝.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/,運行安裝文件完成安裝。

          $ 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

          這一步必需完成以運行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)中支持對數(shù)據(jù)庫的連接,這是通過ODBC 驅(qū)動程序?qū)崿F(xiàn)的,此外,PowerDeisnger也加入了對JDBC 驅(qū)動程序的支持,其稱作Connection Profile。在Linux 下為wine 程序配置ODBC,我沒有經(jīng)驗,可能需要安裝MDAC,而通過JDBC則比較容易實現(xiàn)。對于DB2 類型的數(shù)據(jù)庫,IBM 提供一種TYPE 4的JDBC 驅(qū)動程序,可以不需要在連接的客戶端安裝DB2 Client,僅僅擁有TYPE 4驅(qū)動程序以及JRE 支持即可。下面的配置就是通過在wine 中配置JRE 以及DB2 JDBC TYPE 4 驅(qū)動程序來實現(xiàn)在PowerDesigner 中對DB2 數(shù)據(jù)庫的訪問。

          NOTE:Linux 世界中的libiodbc 和unixODBC 并不適用這個場景,其提供的ODBC 數(shù)據(jù)源并不是為wine 程序使用的。

          首先需要下載Sun 的JRE安裝程序(1.4.2 for windows) 和IBM 的DB2 JDBC TYPE 4 驅(qū)動程序(跨平臺)。

          NOTE:IBM 的JRE 安裝程序會檢測ibmpc 系統(tǒng)兼容性,我在wine中無法通過檢測(甚至在vmware 這樣的虛擬機中也不行),具體原因不知道,導(dǎo)致安裝失敗,因此選擇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"

          整個安裝過程應(yīng)該很順暢,如果遇到問題,可以重頭檢查一下必需的步驟。

          測試VB Script

          執(zhí)行Tools - Execute Commands - Edit/Run Script,在代碼編輯框中寫入一句簡單的VB Script代碼,比如: "dim s",然后點擊Run,如果沒有任何錯誤彈出,說明VB Script 支持正常。

          測試Connection Profile

          在File 菜單中點擊 Revers Engineer - Databases,選擇IBM DB2 UDB 8.x Common Server - Using a datasource,瀏覽datasource,選擇Connection Profile,Configure 一個新的數(shù)據(jù)庫連接。

          點擊Test Connection,如果出錯,查看output (alt+1)中的messages,有助于解決問題。

          TroubleShooting

          Could not find dependent assembly L"Microsoft.VC80.CRT" (On running PowerDesigner.exe)

          解決方法:安裝VC80 dll support。

          Runtime error: R6034 - An application has made an attempt to load the C runtime library incorrectly (On running PowerDesigner.exe)

          解決方法:安裝VC80 dll support。

          Failed to load DLL: pdflm15 (On running PowerDesigner.exe)

          解決方法:安裝VC80 dll support。

          err:module:import_dll Library MSVBVM60.DLL (which is needed by ...

          解決方法:在Windows 安裝中復(fù)制msvbvm60.dll 或者網(wǎng)上下載到wine 的system32 目錄。

          err:module:import_dll Library MFC42.DLL (which is needed by L"C:""windows""system32""vbscript.dll") not found (On Installing VBScript.exe)

          解決方法:在Windows 安裝中復(fù)制mfc42.dll 或者網(wǎng)上下載到wine 的system32 目錄。

          Required property "serverName" is unknown host

          解決方法:檢查網(wǎng)絡(luò)連接,服務(wù)器設(shè)置,服務(wù)器地址,端口,數(shù)據(jù)庫名稱等。

          Non SQL Error : Could not load class com.ibm.db2.jcc.DB2Driver。

          解決方法:檢查wine 注冊表中CLASSPATH 是否包含正確的db2jcc.jar 全路徑,注冊表修改之后,應(yīng)該重新運行PowerDesigner 應(yīng)用程序。

          Could not Initialize JavaVM!

          解決方法:檢查wine 注冊表中PATH 是否包含正確的到JRE bin 路徑,注冊表修改之后,應(yīng)該重新運行PowerDesigner 應(yīng)用程序。

          posted on 2009-08-30 22:31 藍(lán)劍 閱讀(4731) 評論(0)  編輯  收藏 所屬分類: Linux


          <2009年8月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(6)

          隨筆分類(62)

          隨筆檔案(90)

          文章檔案(9)

          相冊

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 325689
          • 排名 - 172

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 商南县| 汨罗市| 大化| 双桥区| 沂水县| 临漳县| 鲁甸县| 专栏| 淮阳县| 镇康县| 勐海县| 稻城县| 手机| 城步| 乌拉特后旗| 兴文县| 合江县| 武穴市| 焦作市| 滨海县| 拜泉县| 巍山| 防城港市| 罗山县| 察雅县| 辽宁省| 平谷区| 洛阳市| 太谷县| 灵川县| 海门市| 玛沁县| 桓台县| 西城区| 肇源县| 永泰县| 庄浪县| 密山市| 温州市| 淄博市| 集贤县|