背景
前面我们介绍了PB9在开发模式下如何通过JDBC连接达梦数据库。
相关资料参考
PowerBuilder9.0(PB9)通过JDBC连接达梦数据库 | 达梦技术社区
基本JDBC连接的模式下使用PB进行程序开发,发现打包后的exe程序无法正常连接。本篇介绍如何正确连接与解决相关报错问题。客户端无需安装JDK环境。
过程
PB打包(专业人员可略)
使用PB9打包已编写的程序代码,这边简单介绍相关流程。
先找到File,选择New...,在窗口中选择Project,然后选择Application Wizard,执行OK
接着基本都是执NEXT
接着在窗口中勾选PBD
最后保存并关闭窗口,选择刚才命名的文件,右键选择Deploy即可。
补充打包后的相关依赖文件
PS:%Sybase_HOME%为实践安装PB程序路径
例如我这边为C:\Program Files (x86)\Sybase
拷贝DLL
将%Sybase_HOME%\Shared\PowerBuilder\目录下的所有DLL文件拷贝到打包目录
例如如下的DLL,图片为部分截图
拷贝PB的jar文件
将%Sybase_HOME%\Shared\PowerBuilder\目录下的pbjdbc1190.jar和pbjdbc1290.jar文件拷贝到打包目录
拷贝文件如图片内容
拷贝jre目录
将开发环境中安装的JDK6的jre6拷贝到打包目录,并修改名字为jre
拷贝达梦JDBC连接的jar文件
将达梦的JDBC连接的jar文件拷贝到\jre\lib\ext
本案例为使用JDK1.6,则需要拷贝DmJdbcDriver16.jar
Classpath会默认读取该路径,因此不需要额外配置环境变量。
验证JDBC能否正常连接
打开打包程序的EXE文件,验证是否正常连接
常见报错
问题一Could not Initialize JavaVM !
原因
程序找不到jvm路径
解决方法
将开发环境中安装的JDK6的jre6拷贝到打包目录,并修改名字为jre
问题二Java Exception : java.lang.NoClassDefFoundError: com/sybase/powerbuilder/jdbc/PbjdbcSession
原因
程序找不到PB运行jdbc相关的jar包
解决方法
将%Sybase_HOME%\Shared\PowerBuilder\目录下的pbjdbc1190.jar和pbjdbc1290.jar文件拷贝到打包目录
问题三Could not load class dm.jdbc.driver.DmDriver
原因
程序找不到PB创建JDBC连接达梦数据库使用的jar包
解决方法
将达梦的JDBC连接的jar文件拷贝到\jre\lib\ext
例如本案例为使用JDK1.6,则需要拷贝DmJdbcDriver16.jar到\jre\lib\ext