PB 程序发布相关

一.前言 
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: 

序号 
文件 
用途 
备注 

PBVM60.DLL 
PowerBuilder 虚拟机 
必需 

PBDWE60.DLL 
DataWindow 数据窗口引擎 
可选 

PBRTC60.DLL 
Rich Text Control管道,超文本控件 
可选 

PBTRA60.DLL 
DLL used for tracing db calls数据库访问跟踪 
可选 
表1-1 

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

序号 
数据库 
接口文件 

Powersoft ODBC Interface 
PBODB60.DLL,PBODB60.INI 

INFORMIX I-Net 5 
PBIN560.DLL 

INFORMIX I-Net 7 
PBIN760.DLL 

Microsoft SQL Server 4.x DB-Lib 
PBSYB60.DLL,PBDBL60.DLL 

Microsoft SQL Server 6.0 
PBMSS60.DLL 

Oracle Version 7.1 
PBO7160.DLL 

Oracle Version 7.2 
PBO7260.DLL 

Oracle Version 7.3 
PBO7360.DLL 

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

序号 
数据库 
驱动程序 

Text 
PBTXT09.DLL,PBTXT09.HLP,PBTXT12.DLL,PBTXT12.HLP 

DB2 
PBDB209.DLL,PBDB209.DLL,PBDB212.DLL,PBDB212.DLL 

Btrieve 
PBBTR09.DLL,WBTRCALL.DLL,PBBTR09.HLP, 
PBBTR12.DLL,PBBTR12.HLP 

dBASE 
PBDBF09.DLL,PBDBF09.HLP,PBDBF12.DLL,PBDBF12.HLP 

Paradox 4/5 
PBIDP09.DLL,PBBAS09.DLL,PBDBC09.DLL,PBFLT09.DLL 
PBUTL09.DLL,PBIDP09.HLP,IVTRN09.DLL,IVPB.LIC 

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: 

序号 
文件 
作用 
类型 

WOD50T.DLL 
SQL Anywhere ODBC 驱动 
ODBC驱动 

DBL50T.DLL 
数据库接口动态链接库 
数据库文件 

WL50ENT.DLL 
数据库接口的英文字符串 


WTR50T.DLL 
ODBC翻译动态链接库 


WODBC.HLP 
配置ODBC的帮助文件 


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 

转载于:https://www.cnblogs.com/yslmyr/p/3408469.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值