文章作者 100test 发表时间 2007:09:25 13:24:39
来源 100Test.Com百考试题网
PowerBuilder(PB)和Oracle分别是前端开发工具和RDBMS的主流产品。PB提供了两种与Oracle连接的接口:PowerSoft内置的数据库接口(Native Database Interface)和ODBC接口。本文介绍使用PB60内置Oracle接口的方法,包括数据描述文件的设置、存储过程的调用和存储过程作为数据窗口数据源的操作方法等内容,使用的RDBMS的Oracle 73。
PowerBuilder与Oracle的连接
假定已安装Oracle客户端应用程序。可用Sqlplus或Tnsping等是否能连接到Oracle数据库,确定在SQLNET配置文件中使用的数据库别名(Database Alias,又称服务器名,Server Name)。如有疑问,可在Oracle客户端程序目录下tnsname.ora文件中找到。另外保证搜索路径已包括SQLNET应用程序的安装目录(如C:\ORAWIN95\BIN)。
进入PB的Database Profiles画笔,可看到所有已安装的数据库接口(PB60缺省安装的是Oracle 73版的接
口,如使用低版本的Oracle,需在安装时指定),选择“O73 Oracle 73”,点击“New”按钮,进入Database Profile Setup对话框。在“Connection”页输入下列信息:
Profile Name:为该Database Profile起一个有意义的名称;
Server:@TNS:ServerName,其中ServerName为上述数据库别名(服务器名),如@TNS:ORA73;
Login ID:Oracle数据库中实际的用户名,由于PB初次连接到数据库时要自动建立五个系统表(PowerBuilder Catalog Table:PBCATTBL,PBCATCOL,PBCATEDT,PBCATFMT,PBCATVLD,存储表的扩展属性),因此第一个连接到Oracle的用户必须具有建表、给PUBLIC角色授权等权限。例如可用SYSTEM用户进行第一次连接,此后的连接对用户则无特殊要求;
Password:该用户的口令。
设置上述内容后,即可连上Oracle。为优化数据库连接,还可设置下列选项:
Prompt for Database Information:连接时是否提示用户输入用户名和口令;
Generate Trace:启动DB跟踪工具,跟踪连接;
Thread Safe:开发需要多线程环境支持的分布式应用时,选择该项。缺省为未选,适用于非分布应用;
PBDBMS:与存储过程调用方式有关的参数。Oracle为72或更高版本时,清除该选项,此时带IN OUT参数的存储过程可作为数据窗口数据源。72版本以下,选择该项,调用PBDBMS.Put-Line建立存储过程的SQL语句,缺省是选中;
Commit on Disconnect:断开连接时,指定提交或回退未提交的事务;
Case Sensitive:连接的Oracle服务器是否区分大小写。注意该项选中时,所有主键、包含主键的表名、外键须全为大写字符。
PowerBuilder Catalog Tables Owner:指定拥有PB系统表的用户,缺省为“SYSTEM”。如果要使用多种显示格式或有效性规则,可以在不同的用户下建立几套系统表;
Table Criteria:指定满足哪些条件的表、视图和同义词可在“Select Tables”对话框中显示出来。例如DEV用户下销售子系统的表都以SALE开头,则可以用SALE%、DEV、“TABLE”、“VIEW”指定只显示DEV用户以SALE开头的表和视图;
Asynchronous:选择该项,可在一个复杂的SQL语句执行过程中,返回第一行结果前,切换到其他操作;
Number of Seconds to Wait:若上一项选中,还可进一步通过该项指定检索数据时,等待数据库响应的时间;
Retrieve Blocking Factor:决定数据窗口对象一次可从数据库取出的记录数;
Number of SQL Staments Cached:PB可将数据窗口对象产生的SQL语句和嵌入式SQL语句保存在SQL语句缓冲区,该参数指定缓冲区为PB保留的SQL语句数目。该数值可由下式计算:SQLCache=服务器OPEN—CURSORS数-5(保留的游标数)-本连接预期使用的最大游标数;
Disable Bind:指定是否将输入变量与SQL语句绑定,此参数影响PB为数据窗口对象生成INSERT语句的方式;
Static Bind:数据窗口对象检索数据前是否检测SELECT语句的合法性;
在Syntax页,还可指定日期、时间的格式等。在Preview页可查看Database Profile设置对应的PowerScript写
法。
Oracle存储过程的使用
归纳起来PB60中调用Oracle存储过程有以下四种方法。
方法一:以关键字RPCFUNC声明存储过程;
方法二:以DECLARE PROCEDURE语句声明存储过程;
方法三:以动态SQL语句实现;
方法四:调用函数PBDBMS.Put-Line。
一般情况下,方法一能得到较好的运行效率和更完善的功能。因此推荐使用方法一。但是某些类型的存储过程只能使用其他方法。以下重点介绍方法一和方法二。
相关文章
IGRP,EIGRP不等值路由负载
详解数据库Oracle11g的基本安装
oracle存储过程的基本语法
ORACLE数据库的基本语法集锦
内置ORACLE数据库接口的使用方法
Oracle9iLogMiner工具使用说明
Linux操作系统下的集群工作原理及实战经历[1]
Linux操作系统下常用压缩文件的解压方式[1]
Linux平台下安全防护十大招数[1]
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛