本文所使用工具:
PowerDesigner 16,
数据源Oracle 11g
第一步如图,新建一个模型
第二步:选中当前模型 testdb. 然后在菜单栏database->update model from database
会弹出如下窗口:
选择或者配置一个数据源:
如果这里有一个数据源,直接选择一个或者修改当已存在的数据源配置。
如果没有就点击configure进行配置:
配置如下图:
点击Test Connection,报错了!!!
报错如下:
看PowerDesigner的控制台,也报错如下:
显示了连接失败的原因:Could not Initialize JavaVM!!
经过查找资料,发现是PowerDesigner16是32位的,只能使用32位的JDK来运行JDBC驱动,我是64位的电脑(现在不都是64位吗),以前安装的是64位的JDK,所以解决办法很简单,再在我电脑上安装一个32位的JDK就可以了,记住,不需要卸载64位的JDK,在64位的电脑上,32位的JDK和64位的JDK是可以共存的。
于是在oracle官网上下载一个32位的JDK,不要做伸手党,在网上找软件应该是程序员的基本功,选择如下32位的JDK(我下载的是最新版本):下载前需要注册一个oracle的账号。
jdk8的32位版本官方下载地址:https://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html
本站下载:https://download.csdn.net/download/m0_37609579/11190993
下载好后,默认是安装C:\Program Files (x86)目录下,之前64位的JDK是安装在C:\Program Files目录下。
接下来需要进行环境变量的配置
JAVA_HOME之前是64位的,C:\Program Files\Java\jdk1.8.0_171,但现在要改成32位的C:\Program Files (x86)\Java\jdk1.8.0_211,如下图所示:
再配置CLASSPATH,我的CLASSPATH环境变量开始都没有,重新添加一个
CLASSPATH的内容如下:%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
而PATH不用变,继续使用之前的64位JDK时的配置就可以:
我们还需要配置PowerDesigned的环境变量,添加jdk的bin对应的位置,这里配置成你原来64位的程序,经过测试,配置成32位的依然无法连接oracle。
在PowerDesigned中,打开Tools —— General Options,选择Variables,并为JAR、JAVA、JAVAC、JAVADOC配置好相应的路径(注意,必须选择64位目录下的jar.exe、java.exe、javac.exe、javadoc.exe,必须选64位JDK的路径),如下:
此时,关掉PowerDesigned,再重新打开。
打开好PowerDesigned后,工程处于关闭状态,如下图所示:
双击工程即可打开,可以观察到菜单栏也发生了变化,有了Database一栏:
再次选择Database —— Configure Connections,再次进行测试
连接成功
如果您没有成功,建议看看下面3点需要注意的地方,是否有对不上的细节。
需要注意的地方:
①oracle的jar包位置一定要配置正确,如我的位置在C:\java\apache-maven-3.6.0\repository\com\oracle\ojdbc6\10.6.0.4.0\ojdbc6-10.6.0.4.0.jar
②JAVA_HOME配置且只能配置一个32位JDK的路径,如我的是:C:\Program Files (x86)\Java\jdk1.8.0_131
③要注意修改完系统环境变量后,要重启PowerDesigned,系统环境变量才能生效,再测试连接。
此外,可能导致的一些问题:
安装32位JDK的时候,一定不要把该版本对应的jre一起安装,安装时不需要选择jre,只装jdk即可
参考资料:
powerdesigner逆向工程,从数据库导出PDM
PowerDesigned15连接MySQL出现"Could not initialize JavaVM"时的详细解决步骤(图文)