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

PB 程序发布相关相关推荐

  1. pb程序怎么发布到iis_怎么使用抖音小程序第三方平台系统开发制作发布抖音小程序+教程...

    怎么使用抖音小程序第三方平台系统开发制作发布抖音小程序+教程 抖音短视频APP发布<2019年抖音数据报告>显示,其日活跃用户已经于2020年1月达到4亿,抖音APP受到广大用户追捧的同时 ...

  2. 从PowerBuilder+wiseinstaller程序发布看windows的system32目录共享

    这篇文章的内容其实是二十几年前的事了.那是我大三时候的假期,家里多不容易买的电脑,配置还记忆犹新:三星550b显示器,技展机箱,赛扬500,pc13364G内存,捷波994主板,迈拓2M缓存10G硬盘 ...

  3. HoloLens1开发(一):第一个程序发布与部署

    前言 最近有新成员加入本团队,为了方便其开发HoloLens1,将不定时更新1代开发相关内容. 软件需求: 1.VS2017,安装Win10 SDK 17134或者17763:相关安装与配置请参考博文 ...

  4. 小程序发布上线流程_微信小程序发布流程:公司、个人如何注册小程序

    如今制作微信小程序已经是非常简单的事了,即使是完全不懂技术的小白,也能利用小程序制作工具快速生成小程序,基本上选一个模板就能快速把页面搭建好. 不过,虽然小程序页面搭建很简单,但还有不少人不知道页面搭 ...

  5. 原生小程序 申请小程序 - 发布流程

    目录 原生小程序 申请小程序 - 发布流程 申请流程 开发管理 查看提交的代码 原生小程序 申请小程序 - 发布流程 微信公众号平台 申请流程 根据要求,填写相关资料,还有邮箱认证即可! 开发管理 点 ...

  6. Spring Boot(二)——项目热部署与程序发布

    一.项目热部署 1.1 配置依赖 ① pom.xml加入devtools依赖,如果scope是provided则无法实现热部署,参考. <dependency><groupId> ...

  7. [IOS之应用程序发布到苹果APP STORE完整流程]

    OS 发布证书申请 目录 概述 一.事前准备  1.1 准备苹果帐号 1.2 进入证书申请界面 1.3 申请请求文件 1.3.1 钥匙串程序申请请求文件 1.3.2 保存请求文件设置 1.3.3 保存 ...

  8. 发布App,赢iPad mini + 美金100$ - Autodesk Exchange 应用程序发布竞赛

    开发牛人们,送你个iPad mini要不要,Autodesk Exchange应用程序发布竞赛开始了. 摘要版: 在2014年9月30日午夜前提交到Autodesk Exchange 应用程序商店上, ...

  9. 真机调试/打包测试/程序发布/内购的具体操作流程

    一.真机调试: #01.真机调试理由: //>>001.真机和模拟器环境的差异 //>>002.内存环境,网络环境; //>>003.传感器: 磁力计,陀螺仪,距离 ...

  10. crmeb 微信小程序直播相关配置说明

    小程序直播相关文档:https://docs.qq.com/slide/DSkN3dXRoam5ycGFV 1.登陆微信公众平台,小程序管理 地址:https://mp.weixin.qq.com 2 ...

最新文章

  1. jQuery - 设置内容和属性
  2. 利用动态规划求连续数组最大和以及最大子矩阵的和
  3. 项目: 用封装的方法实现飞机大战游戏
  4. js获取input上传文件名和后缀
  5. Go的sync.WaitGroup(二):WaitGroup让主程序与协程全部都执行 并且全部执行完成
  6. 一年中最后一个月的最后一天说说_新的一年又开始了说说 年底最后一天的心情说说...
  7. easy-ui的datagrid
  8. 做产品经理的第1年、第5年和第10年...
  9. Python 爬虫实例(7)—— 爬取 新浪军事新闻
  10. (87)FPGA面试题-同步FIFO与异步FIFO区别?异步FIFO代码设计
  11. (33)FPGA面试题附加约束的作用
  12. c语言网络定向拉取数据,用C模拟了一个http请求,但是recv函数接收的数据不完整且欠安顺序获取信息...
  13. rect函数_Python基础入门(9):从函数到高级魔法方法--阿里云天池
  14. 一个完整的pytorch预训练实现图像分类,模型融合
  15. 计算机未来发展情况作文,未来的计算机作文600字|未来的计算机作文
  16. 百度文档免费复制、翻译
  17. 阿里企业云邮箱怎么申请?企业云邮箱登录界面在哪?
  18. 一、 输出 1~100 之间不能被 7 整除的数,每行输出 10 个数字,要求应用字符 串格式化方法(任何一种均可) 美化输出格式。 输出效果为:
  19. EIP712以太坊签名和验签
  20. 网友吐槽常被盒马种草 但你知道带货王是怎么来的吗?

热门文章

  1. 0编译器详解_C++ typeid关键字详解
  2. [渝粤教育] 厦门工学院 逻辑与批判性思维 参考 资料
  3. 数据预处理第4讲:缺失值填补
  4. rand()与srand()函数用法详解
  5. linux 统计 程序运行时间
  6. bit, byte, KB, GB, TB, PB, EB, ZB, YB, BB, NB, DB, CB, XB
  7. Java面向对象之多态(向上、向下转型) 入门实例
  8. PyQt4打包exe文件
  9. android仿qq空间、微信朋友圈图片展示
  10. 【转】我是你的过客,你却是我的定格......