其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

如何发布独立的POWERBUILDER应用


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

一.前言

PowerBuilder(PB)是SYBASE 公司的下属公司Powersoft公司推出的新一代数据库应用开发工具由于其功能强大开发快速及支持多平台等而颇受广大编程技术人员的欢迎随着有关PB的应用推广使用相关资料也纷纷面世同时PowerSoft为适应开发的需要也不断的推出PB的更新版本PB作为第四代语言的数据库开发工具在开发工具市场中占有相当高的比例

在使用PB进行开发的过程中不少开发者在感受PB带来的快速强大的功能愉悦的同时也深感在发布应用时PB存在的不便之处

首先PB在编译完成后的执行文件不能独立运行必须包含PB的运行时库文件以及数据库驱动文件网络驱动文件等

其次在包含这些文件时必须十分清楚各个运行时库文件的用途不同数据库对应的数据驱动的动态链接库文件集等但往往这方面的资料却非常难得因而一个本来非常精简的PB应用在打包发布后却显得非常臃肿

本文旨在讲叙针对在Windows/下用PB开发的使用Powersoft的SQL Anywhere数据库作为本地数据库的应用的发布过程阐明如何为PB的应用发布减肥特别要说明的是如何将SQL Anywhere 数据库精简后包含在应用当中并如何配置其数据源而不用再另外安装SQL Anywhere作为本地数据库的驱动

一般地说发布一个PB应用除应用程序部件本身外还应该包含如下文件及进行相关操作

. PowerBuilder运行时动态链接库( Runtime Library )

. 数据库接口一方面包括PB提供的数据库专用接口或ODBC接口程序另一方面包括不同数据库厂商提供的ODBC数据库驱动程序

. ODBC数据源的配置

. 如果是采用C/S方式包含数据库厂商的Client端例如SYBASE公司的Open Client 及ORALCLE公司的SQL*Net

就本文而言我们只重点讨论现分别阐述如下

二.PowerBuilder运行时动态链接库( Runtime Library )

不同版本的PB所需要的运行时动态链接库文件不尽相同但库名有相似的地方这些DLL都必须包含在应用程序目录或系统目录当中对于Windows下位的应用程序必须一起发行的运行时库是PBVM.DLL其他部件可选对于Windows下位的应用程序必须一起发行的运行时库是PBVMW.DLL总之PB版本相对于PB及以前版本运行时库的数量减少了很多这也有利于开发人员对应用程序打包发行现以PB运行在位WINDOWS/为例说明详细解释见下表

序号文件用途备注PBVMDLLPowerBuilder 虚拟机必需PBDWEDLLDataWindow 数据窗口引擎可选PBRTCDLLRich Text Control管道超文本控件可选PBTRADLLDLL used for tracing db calls数据库访问跟蹤可选表

三. 数据库接口

所有数据库接口文件及驱动程序必需放在应用程序目录或系统目录中

. PB专用数据库接口及ODBC数据库接口

在WINDOWS/下用户可以根据自己采用的不同数据库在发布应用程序时包含下列接口文件见下表所示

序号数据库接口文件Powersoft ODBC InterfacePBODBDLLPBODBINIINFORMIX INet PBINDLLINFORMIX INet PBINDLLMicrosoft SQL Server x DBLibPBSYBDLLPBDBLDLL

Microsoft SQL Server PBMSSDLLOracle Version PBMSSDLLOracle Version PBODLLOracle Version PBODLLIBM databases PBIBMWDLLSybase Information CONNECT DB GatewayPBMDIDLLPBDBLDLLSybase NetGateway for DBPBNETDLLPBDBLDLLSybase SQL Server x DBLibPBSYTDLLPBDBTDLLSybase SQL Server x and x CTLibPBSYCDLL表

. 第三方厂商提供的ODBC数据库驱动程序

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

序号数据库驱动程序TextPBTXTDLLPBTXTHLPPBTXTDLLPBTXTHLPDBPBDBDLLPBDBDLLPBDBDLLPBDBDLLBtrievePBBTRDLLWBTRCALLDLLPBBTRHLP

PBBTRDLLPBBTRHLPdBASEPBDBFDLLPBDBFHLPPBDBFDLLPBDBFHLPParadox /PBIDPDLLPBBASDLLPBDBCDLLPBFLTDLL

PBUTLDLLPBIDPHLPIVTRNDLLIVPBLICSQL AnywhereWODWDLLWLENDLLWODBCHLPWODBCHLPWODTDLLWLENTDLLWTRTDLLWODBCHLP表

四. ODBC数据源配置

在包含以上文件之后还必需对使用ODBC数据库方式的应用进行ODBC数据源的配置以便在安装完毕后应用程序可以直接访问用户数据源以下介绍的数据源配置原理及方法由于涉及到修改系统注册表可以使用手工方式实现也可以在制作应用程序的安装盘时在安装步骤中设置好ODBC数据源的配置涉及到微软的ODBC驱动程序及相关动态链接库此部件可以在安装WINDOWS/时作为系统的一部分装入机器并在控制面板中可以找到 bit ODBC(位ODBC)数据源管理器项并使用其进行操作

下面以使用SQL Anywhere 数据库创建的用户数据库为例来说明如何使用数据源管理器进行ODBC的手工配置及如何在安装程序中自动修改系统注册表其他数据库可以参考SQL Anywhere 进行操作首先列出SQL Anywhere 数据库必需的最精简的文件清单见表:

序号文件作用类型WODTDLLSQL Anywhere ODBC 驱动ODBC驱动DBLTDLL数据库接口动态链接库数据库文件WLENTDLL数据库接口的英文字符串WTRTDLLODBC翻译动态链接库WODBCHLP配置ODBC的帮助文件DBENGEXE数据库引擎表

.使用数据源管理器配置用户数据源

安装SQL Anywhere数据库驱动程序使数据源管理器中的ODBC驱动程序页增加一行SQL Anywhere的驱动说明

用户DSN一页选择添加然后选择SQL Anywhere数据源出现数据源的配置信息表后将数据源名(Data Source Name)数据库名(Database File)用户ID号(User ID)用户密码(Password)等信息添齐选择OK确认此时在用户数据源的窗口中就会增加用户的数据库的ODBC驱动选择确认后退出数据源管理器

进行以上两步以后重新启动系统用户就可以在运行应用程序后使用SQL Anywhere数据库

修改INI文件及系统注册表配置用户数据源(以下注C:\TestApp为用户应用程序目录C:\TestApp\Sqlany为应用程序包含的SQL Anywhere数据库驱动文件目录TestDBDB为用户数据库)

修改ODBCINSTINI文件:

在[ODBC Drivers] 节中增加一行:Sybase SQL Anywhere = Installed增加一节[Sybase SQL Anywhere ] 并在此节中加入:

Setup = C:\TestApp\Sqlany\WODWDLL

Driver = C:\TestApp\Sqlany\WODWDLL

修改ODBCINI文件

在[ODBC Data Sources]节中增加一行TestDB = Sybase SQL Anywhere

增加一节[TestDB]并在此节中加入:Driver = C:\TestApp\Sqlany\WODWDLL

修改系统注册表

在HKEY_CURRENT_USER\Software\ODBC\ODBCINI\ODBC Data Source下增加字符串键值

名称数值TestDBSybase SQL Anywhere

在HKEY_CURRENT_USER\Software\ODBC\ODBCINI下增加主键:TestDB并分别加入键值如下:

名称数值AutostopyesDatabasefileC:\TestApp\TestDBDBDatabasenameTestDBDriverC:\TestApp\Sqlany\WODTDLLPWDsqlStartC:\TestApp\Sqlany\dbengexe d cUIDdba

在用户的安装程序中将以上步骤加入可以使用户的应用程序在不必另安装SQL Anywhere数据库驱动也能直接访问用户数据源这也是讲述这一部分内容的目的即要将SQL Anywhere数据库的必需文件包含发行并在安装过程中修改INI文件及系统注册表配置数据源从而实现用户应用程序独立发布

当然以上提及的仅仅是针对性很强的用户环境其他版本的PB发行可以参考以上所述进行希望本文能给读者带来一点点启发或价值由于作者撰稿仓促难免有疏漏之处恳请读者谅解

               

上一篇:Visual C++开发工具与调试技巧整理[2]

下一篇:PowerBuilder实用技巧八则(一)