如何发布独立的POWERBUILDER应用
摘要:本文介绍了发布独立的POWERBUILDER应用所需要的驱动程序以及相关设置,特别介绍使用Powersoft的本地数据库产品SQL Anywhere作为数据源的应用如何将其包含在发行当中。
一.前言
PowerBuilder(PB)是SYBASE 公司的下属公司Powersoft公司推出的新一代数据库应用开发工具,由于其功能强大,开发快速及支持多平台等而颇受广大编程技术人员的欢迎。随着有关PB的应用推广使用,相关资料也纷纷面世,同时PowerSoft为适应开发的需要也不断的推出PB的更新版本,PB作为第四代语言的数据库开发工具在开发工具市场中占有相当高的比例。
在使用PB进行开发的过程中,不少开发者在感受PB带来的快速,强大的功能愉悦的同时,也深感在发布应用时PB存在的不便之处:首先PB在编译完成后的执行文件不能独立运行,必须包含PB的运行时库文件以及数据库驱动文件,网络驱动文件等。其次,在包含这些文件时必须十分清楚各个运行时库文件的用途,不同数据库对应的数据驱动的动态链接库文件集等,但往往这方面的资料却非常难得。因而一个本来非常精简的PB应用在打包发布后却显得非常臃肿。
本文旨在讲叙针对在Windows95/98下用PB6.0开发的,使用Powersoft的SQL 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项,现分别阐述如下:
二.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管道,超文本控件 | 可选 |
4 | PBTRA60.DLL |
DLL used for tracing db calls数据库访问跟踪 | 可选 |
序号 | 数据库 | 接口文件 |
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 |
12 | Sybase SQL Server 10.x and 11.x CT-Lib | PBSYC60.DLL |
表2-1
2. 第三方厂商提供的ODBC数据库驱动程序。
如果用户的数据库采用ODBC数据库驱动方式,这种数据库的连接方式较专用数据库接口复杂,并且连接使用的效率也比专用数据库低。因此除要了包含上面讲到的Powersoft ODBC Inerface 接口文件外,即PBODB60.DLL及PBODB60.INI两个文件,还必需在WINDOWS目录中存在ODBCINST.INI及ODBC.INI 文件 及 Microsoft ODBC 驱动程序及相关DLL。另外,就是要包含各个数据库厂商提供或支持的ODBC数据库驱动程序。下面列出 部分数据库厂商的驱动程序如下表2-2:
序号 | 数库库 | 驱动程序 |
1 | Text | PBTXT09.DLL,PBTXT09.HLP,PBTXT12.DLL,PBTXT12.HLP |
2 | DB2 | PBDB209.DLL,PBDB209.DLL,PBDB212.DLL,PBDB212.DLL |
3 | Btrieve | PBBTR09.DLL,WBTRCALL.DLL,PBBTR09.HLP,BBTR12.DLL,PBBTR12.HLP |
4 | dBASE | PBDBF09.DLL,PBDBF09.HLP,PBDBF12.DLL,PBDBF12.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.DLL,WL50EN.DLL,WODBC.HLP,WODBC.HLP WOD50T.DLL,WL50ENT.DLL,WTR50T.DLL,WODBC.HLP |
表2-2
四. 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 | 数据库引擎 |