powerbuilder:如何发布独立的POWERBUILDER应用

温翔  广西柳州市

摘要:本文介绍了发布独立POWERBUILDER应用所需要驱动以及相关设置特别介绍使用Powersoft本地数据库产品SQL Anywhere作为数据源应用如何将其包含在发行当中

.前言
PowerBuilder(PB)是SYBASE 公司下属公司Powersoft公司推出代数据库应用开发工具由于其功能强大开发快速及支持多平台等而颇受广大编程技术人员欢迎随着有关PB应用推广使用相关资料也纷纷面世同时PowerSoft为适应开发需要也不断推出PB更新版本PB作为第 4代语言数据库开发工具在开发工具市场中占有相当高比例
在使用PB进行开发过程中不少开发者在感受PB带来快速强大功能愉悦同时也深感在发布应用时PB存在不便的处:首先PB在编译完成后执行文件不能独立运行必须包含PB运行时库文件以及数据库驱动文件网络驱动文件等其次在包含这些文件时必须十分清楚各个运行时库文件用途区别数据库对应数据驱动动态链接库文件集等但往往这方面资料却非常难得因而个本来非常精简PB应用在打包发布后却显得非常臃肿
本文旨在讲叙针对在Windows95/98下用PB6.0开发使用PowersoftSQL Aaywhere数据库作为本地数据库应用发布过程阐明如何为PB应用发布“减肥”特别是要介绍说明是如何将SQL Anywhere 数据库精简后包含在应用当中并如何配置其数据源而不用再另外安装SQL Aaywhere作为本地数据库驱动
般地说发布个PB应用除应用部件本身外还应该包含如下文件及进行相关操作:
1. PowerBuilder运行时动态链接库( Runtime Library )
2. 数据库接口:方面包括PB提供数据库专用接口或ODBC接口方面包括区别数据库厂商提供ODBC数据库驱动
3. ODBC数据源配置
4. 如果是采用C/S方式包含数据库厂商Client端例如SYBASE公司Open Client 及ORALCLE公司SQL*Net
就本文而言我们只重点讨论1-3项现分别阐述如下:
2.PowerBuilder运行时动态链接库( Runtime Library )
区别版本PB所需要运行时动态链接库文件不尽相同但库名有相似地方这些DLL都必须包含在应用目录或系统目录当中对于Windows下32位应用必须起发行运行时库是PBVM60.DLL其他部件可选对于Windows下16位应用必须起发行运行时库是PBVM60W.DLL总的PB6.0版本相对于PB5.0及以前版本运行时库数量减少了很多这也有利于开发人员对应用打包发行现以PB6.0运行在32位WINDOWS95/98为例介绍说明详细解释见下表1-1:

序号
文件
用途
备注
1
PBVM60.DLL
PowerBuilder 虚拟机
必需
2
PBDWE60.DLL
DataWindow 数据窗口引擎
可选
3
PBRTC60.DLL
Rich Text Control管道超文本Control控件
可选
4
PBTRA60.DLL
DLL used for tracing db calls数据库访问跟踪
可选
表1-1

3. 数据库接口
所有数据库接口文件及驱动必需放在应用目录或系统目录中
1. PB专用数据库接口及ODBC数据库接口
在WINDOWS95/98下用户可以根据自己采用区别数据库在发布应用时包含下列接口文件,见下表2-1所示

序号
数据库
接口文件
1
Powersoft ODBC Interface
PBODB60.DLL,PBODB60.INI
2
INFORMIX I-Net 5
PBIN560.DLL
3
INFORMIX I-Net 7
PBIN760.DLL
4
Microsoft SQL Server 4.x DB-Lib
PBSYB60.DLL,PBDBL60.DLL
5
Microsoft SQL Server 6.0
PBMSS60.DLL
6
Oracle Version 7.1
PBO7160.DLL
7
Oracle Version 7.2
PBO7260.DLL
8
Oracle Version 7.3
PBO7360.DLL
9
IBM databases
PBIBM60W.DLL
10
Sybase Information CONNECT DB2 Gateway
PBMDI60.DLL,PBDBL60.DLL
11
Sybase Net-Gateway for DB2
PBNET60.DLL,PBDBL60.DLL
12
Sybase SQL Server 4.x DB-Lib
PBSYT60.DLL,PBDBT60.DLL
13
Sybase SQL Server 10.x and 11.x CT-Lib
PBSYC60.DLL  

表2-1

2. 第 3方厂商提供ODBC数据库驱动
如果用户数据库采用ODBC数据库驱动方式,这种数据库连接方式较专用数据库接口复杂,并且连接使用效率也比专用数据库低因此除要了包含上面讲到Powersoft ODBC Inerface 接口文件外,即PBODB60.DLL及PBODB60.INI两个文件,还必需在WINDOWS目录中存在ODBCINST.INI及ODBC.INI 文件 及 Microsoft ODBC 驱动及相关DLL另外就是要包含各个数据库厂商提供或支持ODBC数据库驱动下面列出 部分数据库厂商驱动如下表2-2:

序号
数据库
驱动
1
Text
PBTXT09.DLLPBTXT09.HLPPBTXT12.DLLPBTXT12.HLP
2
DB2
PBDB209.DLLPBDB209.DLLPBDB212.DLLPBDB212.DLL
3
Btrieve
PBBTR09.DLLWBTRCALL.DLLPBBTR09.HLP
PBBTR12.DLLPBBTR12.HLP
4
dBASE
PBDBF09.DLLPBDBF09.HLPPBDBF12.DLLPBDBF12.HLP
5
Paradox 4/5
PBIDP09.DLL,PBBAS09.DLL,PBDBC09.DLL,PBFLT09.DLL
PBUTL09.DLL,PBIDP09.HLP,IVTRN09.DLL,IVPB.LIC
6
SQL Anywhere
WOD50W.DLLWL50EN.DLLWODBC.HLPWODBC.HLP WOD50T.DLLWL50ENT.DLLWTR50T.DLLWODBC.HLP
表2-2

4. ODBC数据源配置
在包含以上文件的后还必需对使用ODBC数据库方式应用进行ODBC数据源配置以便在安装完毕后应用可以直接访问用户数据源以下介绍数据源配置原理及思路方法由于涉及到修改系统注册表可以使用手工方式实现也可以在制作应用安装盘时在安装步骤中设置好ODBC数据源配置涉及到微软ODBC驱动及相关动态链接库此部件可以在安装WINDOWS95/98时作为系统部分装入机器并在“控制面板”中可以找到“32 bit ODBC(32位ODBC)”数据源管理器项并使用其进行操作
下面以使用SQL Anywhere 数据库创建用户数据库为例来介绍说明如何使用数据源管理器进行ODBC手工配置及如何在安装中自动修改系统注册表其他数据库可以参考SQL Anywhere 进行操作首先列出SQL Anywhere 数据库必需最精简文件清单见表3-1:

序号
文件
作用
类型
1
WOD50T.DLL
SQL Anywhere ODBC 驱动
ODBC驱动
2
DBL50T.DLL
数据库接口动态链接库
数据库文件
3
WL50ENT.DLL
数据库接口英文

4
WTR50T.DLL
ODBC翻译动态链接库

5
WODBC.HLP
配置ODBC帮助文件

6
DBENG50.EXE
数据库引擎

表3-1

1.使用数据源管理器配置用户数据源
1.1. 安装SQL Anywhere数据库驱动,使数据源管理器中"ODBC驱动"页增加行SQL Anywhere驱动介绍说明
1.2. 在"用户DSN"页选择"添加",然后选择SQL Anywhere数据源,出现数据源配置信息表后,将数据源名(Data Source Name),数据库名(Database File),用户ID号(User ID),用户密码(Password)等信息添齐,选择"OK"确认,此时在"用户数据源"窗口中就会增加用户数据库ODBC驱动,选择"确认"后退出数据源管理器

进行以上两步以后重新启动系统,用户就可以在运行应用后使用SQL Anywhere数据库
2. 修改INI文件及系统注册表配置用户数据源
(以下注:C:\TestApp为用户应用目录C:\TestApp\Sqlany50为应用包含SQL Anywhere数据库驱动文件目录,TestDB.DB为用户数据库)
1.1修改ODBCINST.INI文件:
在[ODBC Drivers] 节中增加行:
Sybase SQL Anywhere 5.0 = Installed
增加节[Sybase SQL Anywhere 5.0] 并在此节中加入:
Setup = C:\TestApp\Sqlany50\WOD50W.DLL
Driver = C:\TestApp\Sqlany50\WOD50W.DLL
1.2修改ODBC.INI文件:
在[ODBC Data Sources]节中增加行:
TestDB = Sybase SQL Anywhere 5.0
增加节[TestDB]并在此节中加入:
Driver = C:\TestApp\Sqlany50\WOD50W.DLL
1. 3修改系统注册表:
在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Source下增加串键值:

名称
数值
TestDB
"Sybase SQL Anywhere 5.0"

在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI下,增加主键:TestDB,并分别加入键值如下:
名称
数值
Autostop
"yes"
Databasefile
"C:\TestApp\TestDB.DB
Databasename
"TestDB"
Driver
"C:\TestApp\Sqlany50\WOD50T.DLL"
PWD
"sql"
Start
"C:\TestApp\Sqlany50\dbeng50.exe -d -c1024"
UID
"dba"

在用户安装中将以上步骤加入可以使用户应用在不必另安装SQL Anywhere数据库驱动也能直接访问用户数据源,这也是讲述这部分内容,即要将SQL Anywhere数据库必需文件包含发行,并在安装过程中修改INI文件及系统注册表配置数据源,从而实现用户应用独立发布
当然以上提及仅仅是针对性很强用户环境其他版本PB发行可以参考以上所述进行希望本文能给读者带来点点启发或价值由于作者撰稿仓促难免有疏漏的处恳请读者谅解
Tags:  powerbuilder是什么 powerbuilder9.0 powerbuilder powerbuilder

延伸阅读

最新评论

发表评论