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
蓝剑 阅读(4699)
评论(0) 编辑 收藏 所属分类:
Linux