发行pb可执行应用程序,所需的接口文件、支持文件?<在线请教>

haiyi8012 2003-09-24 11:03:30
使用工具:
PowerBuider8、Oracle9i.
在发行时,我使用了下列支持文件:
DBNMPNTW.DLL、MSVCRT.DLL、MSVCRT40.DLL、NTWDBLIB.DLL、PB60.reg、
pbdwe60.dll、pbmss60.dll、pbrtc60.dll、pbtra60.dll、pbvm60.dll。
但是,在用SQL Server 作后台的时候还可以,我现在使用Oracle 的时候,
程序也能运行,但是,检索不到数据窗口对象了。
特向各位请教,望指点!
如果需要其他文件,请发给我好吗?
Email:haiyi8012@sina.com
多谢!!
...全文
300 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongdongxiao 2003-09-26
  • 打赏
  • 举报
回复
?pb中如何配置JDBC数据源?(haiyi8012) 20 2 9-26 08:35 管理
?发行pb可执行应用程序,所需的接口文件、支持文件?<在线请教>(haiyi8012) 50 6 9-24 13:56 管理
?谁有pbws32.dll库文件,急要<在线>(haiyi8012) 30 2 9-23 10:55 管理
?在pb8下如何取得当前用户的IP地址那?<在线>(haiyi8012) 30 3 9-17 11:10 管理

最新:4篇 1

全部没揭帖
eminena 2003-09-24
  • 打赏
  • 举报
回复
如何发布独立的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-1

三. 数据库接口。
所有数据库接口文件及驱动程序必需放在应用程序目录或系统目录中。
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. 第三方厂商提供的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,
PBBTR12.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
数据库引擎

表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文件及系统注册表配置数据源,从而实现用户应用程序独立发布。
eminena 2003-09-24
  • 打赏
  • 举报
回复
如何安装SQL Anywhere与PB应用程序?

一.安装步骤

一般地说发布一个PB应用除应用程序部件本身外,还应该包含如下文件及相关操作:
1. PowerBuilder运行时动态链接库( Runtime Library )。
2. 数据库接口:一方面包括PB提供的数据库专用接口或ODBC接口程序,另一方面包括不同数据库厂商提供的ODBC数据库驱动程序。
3. ODBC数据源的配置。

二.PowerBuilder运行时动态链接库( Runtime Library )。
不同版本的PB所需要的运行时动态链接库文件不尽相同,但库名有相似的地方,这些DLL都必须包含在应用程序目录或系统目录当中:

PB6.5所需文件:
必需 PBVM60.DLL PowerBuilder 虚拟机
可选 PBDWE60.DLL DataWindow 数据窗口引擎
可选 PBRTC60.DLL 超文本控件
可选 PBTRA60.DLL 数据库访问跟踪
可选 PBODB60.DLL PB的ODBC接口
可选 PBIN760.DLL INFORMIX 接口
可选 PBMSS60.DLL Microsoft SQL Server接口
可选 PBSYC60.DLL Sybase SQL Server接口
可选 PBO7360.DLL/PBO7260.DLL Oracle Version接口

PB7.0所需文件:
必需 PBVM70.DLL PowerBuilder 虚拟机
必需 LIBJCC.DLL PowerBuilder 库管理
可选 PBDWE70.DLL DataWindow 数据窗口引擎
可选 PBRTC70.DLL 超文本控件
可选 PBTRA70.DLL 数据库访问跟踪
可选 PBODB70.DLL PB的ODBC接口 
可选 PBIN770.DLL INFORMIX 接口
可选 PBMSS70.DLL Microsoft SQL Server接口
可选 PBSYC70.DLL Sybase SQL Server接口
可选 PBO7370.DLL/PBO8470.DLL Oracle Version接口

PB8.0所需文件:
必需 PBVM80.DLL PowerBuilder 虚拟机
必需 LIBJCC.DLL PowerBuilder 库管理
可选 PBDWE80.DLL DataWindow 数据窗口引擎
可选 PBRTC80.DLL 超文本控件
可选 PBTRA80.DLL 数据库访问跟踪
可选 PBODB80.DLL PB的ODBC接口 
可选 PBIN780.DLL INFORMIX 接口
可选 PBMSS80.DLL Microsoft SQL Server接口
可选 PBSYC80.DLL Sybase SQL Server接口
可选 PBO7380.DLL/PBO8480.DLL/PBO9080.DLL Oracle Version接口
以上文件可以在C:\Program Files\Sybase\Shared\PowerBuilder取得。


三. SQL Anywhere ODBC数据库驱动程序。

SQL Anywhere 5.0:
DBTL50T.DLL 数据库工具
DBL50T.DLL 数据库接口
WODBC.HLP 帮助文档
WOD50T.DLL ODBC 驱动
WL50ENT.DLL 英文字符串
WTR50T.DLL ODBC翻译
DBENG50.EXE 数据库引擎

SQL Anywhere 6.0:
DBL60T.DLL,WODBC.HLP,WOD60T.DLL,WL60ENT.DLL,WTR60T.DLL,DBENG60.EXE

SQL Anywhere 7.0:
DBODBC7.DLL,DBLIB7.DLL,DBWTSP7.DLL,DBLGEN7.DLL,DBODTR7.DLL,DBENG7.EXE

四. ODBC数据源配置。
在包含以上文件之后,还必需对使用ODBC数据库方式的应用进行ODBC数据源的配置,以便在安装完毕后应用程序可以直接访问系统数据源。
下面以使用SQL Anywhere 5.0数据库创建的用户数据库为例来说明如何使用数据源管理器进行ODBC的手工配置及如何在安装程序中自动修改系统注册表,其他数据库可以参考SQL Anywhere 5.0进行操作。

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. 修改系统注册表配置系统数据源。
(以下注:以WIN98下的注册表为例,括号内的为WIN2000下的注册表数值,C:\YourApp为用户应用程序目录,C:\YourApp\Sqlany50为应用程序包含的SQL Anywhere数据库驱动文件目录,YourDB.DB为用户数据库。)

在HKEY_LOCAL_MACHINE\software\ODBC\ODBC Drivers(ODBCINST.INI\ODBC Drivers)下,增加字符串键值:
Sybase SQL Anywhere 5.0 = "Installed"

在HKEY_LOCAL_MACHINE\software\ODBC\Sybase SQL Anywhere 5.0(ODBCINST.INI\Sybase SQL Anywhere 5.0)下,增加字符串键值:
Driver = "C:\YourApp\Sqlany50\WOD50T.DLL"
Setup = "C:\YourApp\Sqlany50\WOD50T.DLL"

在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Source下,增加字符串键值:
TestDB = "Sybase SQL Anywhere 5.0"

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

在用户的安装程序中将以上步骤加入,可以使用户的应用程序在不必安装SQL Anywhere数据库驱动下,也能直接访问系统数据源,从而实现用户应用程序的独立发布。
workhand 2003-09-24
  • 打赏
  • 举报
回复
楼上的方法不是根本解决问题的方法,还是请高手看看吧
online 2003-09-24
  • 打赏
  • 举报
回复
把pb程序目录下的所有dll文件copy到windows目录下
zjiang5120 2003-09-24
  • 打赏
  • 举报
回复
我也不知道
不过你可以把pb程序目录下的所有dll文件copy到windows目录下
klbt 2003-09-24
  • 打赏
  • 举报
回复
你是否没有建立资源文件?

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧