目录搜索
oracle知识ORACLE的数据类型Oracle技术网—DBMS_Job包的用法Oracle技术网—Oracle for NT系统实用工具介绍Oracle技术网—Oracle常见错误代码Oracle技术网—Oracle常用ScriptOracle技术网—Oracle常用数据字典Oracle技术网—ORACLE数据库简介Oracle技术网—Oracle特殊包Oracle技术网—Oracle相关站点Oracle技术网—哪些初始化参数最影响Oracle系统性能PL/SQLDBAOracle7 7.3.2.2Oracle技术网—listener.log的内容增长很快,是否可以删除重建Oracle技术网—ORACLE表空间恢复方案Oracle技术网—Oracle常用系统文件有哪些Oracle技术网—ORACLE回滚段管理(上)Oracle技术网—ORACLE回滚段管理(下)Oracle技术网—Oracle如何决定使用哪个回退段Oracle技术网—Oracle数据库的空间管理技巧Oracle技术网—Oracle数据库碎片整理Oracle技术网—Oracle数据库有哪几种关闭方式Oracle技术网—Oracle数据库有哪几种启动方式Oracle技术网—Oracle预定义角色有哪些Oracle技术网—ROLLBACK不能回滚的命令Oracle技术网—查看哪些session正在使用哪些回滚段Oracle技术网—存储参数(storage子句)含义及设置技巧Oracle技术网—和权限有关的表有哪些Oracle技术网—漫谈数据库的启动和关闭Oracle技术网—哪些初始化参数最影响Oracle系统性能Oracle技术网—如何备份控制文件Oracle技术网—如何查出前台正在发出的sql语句Oracle技术网—如何查看Oracle版本及安装了哪些选项Oracle技术网—如何查看Oracle数据表的建表语句Oracle技术网—如何查看SGA区剩余可用内存Oracle技术网—如何查看各个表空间占用磁盘情况Oracle技术网—如何查看后台进程Oracle技术网—如何查看什么时间有哪些数据库对象结构被修改过Oracle技术网—如何查看数据库的各种数据文件Oracle技术网—如何查看数据库的字符集Oracle技术网—如何查看数据文件是否自动扩展Oracle技术网—如何查看数据文件所在的路径Oracle技术网—如何查看用户表上的约束内容Oracle技术网—如何查看用户表所占空间的大小Oracle技术网—如何查询出primary key和forgen key的关系表Oracle技术网—如何改变当前联机日志文件的大小Oracle技术网—如何利用DBMS_SQL包和游标计算当前用户下所有表的行数Oracle技术网—如何启动ARCHIVELOG模式Oracle技术网—如何取出某一用户的密码,再原封不动的改回去Oracle技术网—如何设置BLOCK_SIZE大于2K,如:4K、16KOracle技术网—如何手工指定使用哪个回退段Oracle技术网—如何修改internal的口令Oracle技术网—如何移动控制文件到新的目录中Oracle技术网—如何移数据库文件Oracle技术网—如何增加表空间的大小Oracle技术网—怎样查看init.ora文件Oracle技术网—怎样查看SGA值Oracle技术网—怎样查看哪些用户拥有SYSDBA、SYSOPER权限?Oracle技术网—怎样快速查出Oracle 数据库中的锁等待Oracle技术网—怎样识别IO竞争和负载平衡Exp vs ImpOracle技术网—EXP、IMP 命令详解Oracle技术网—Exp/Imp大量数据Oracle技术网—Export/Import 使用技巧与常见错误Oracle技术网—Oracle数据库的备份与恢复Oracle技术网—如何把数据exp到Sql loader里Oracle技术网—如何单独备份一个或多个表Oracle技术网—如何单独备份一个或多个用户Oracle技术网—如何导入指定表Oracle技术网—如何建立一个与现存数据库相同,但不包含数据的空库Oracle技术网—如何在oracle7和oracle8之间exp/imp数据Oracle技术网—提高ORACLE数据库系统import性能Oracle技术网—为何我的导出文件只有500KOracle技术网—自动备份Oracle数据库Oracle技术网—作Export或Import时,如何记录LOG信息?SQL技巧Oracle技术网—LONG数据类型使用上的一些说明Oracle技术网—Oracle8 PL/SQL编程风格与系统性能的提高Oracle技术网—Oracle8中用户名、表名、列名、索引名...可以用中文命名吗Oracle技术网—Oracle中如何实现某一字段自动增加1Oracle技术网—SQL(Structured Query Language)语句分哪几类Oracle技术网—SQL*PLUS常用命令列表Oracle技术网—SQL*Plus系统环境变量有哪些?如何修改?Oracle技术网—SQL*Plus中缓冲区命令列表Oracle技术网—SQL*Plus中能运行哪几种命令Oracle技术网—SQLPlus中的复制和粘贴技巧Oracle技术网—查看本用户下的各种对象的SQL脚本Oracle技术网—查找a表中有,而在b表中没有的记录Oracle技术网—利用PL/SQL打印ASCII表Oracle技术网—如何查找、删除表中重复的记录Oracle技术网—如何对CLOB行字段执行全文检索Oracle技术网—如何对CLOB字段进行全文检索?Oracle技术网—如何改变表中列的名字Oracle技术网—如何改变一个字段初始定义的Check范围Oracle技术网—如何给表、列加注释Oracle技术网—如何将 primary key 建在其它的表空间上Oracle技术网—如何删除表中的列Oracle技术网—如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ?Oracle技术网—如何通过 SQL*PLUS 将符号 & 、'号(单引号) 插入Oracle数据库的表中Oracle技术网—如何用SQL生成SQL批处理文件Oracle技术网—如何在PL_SQL中读写文件Oracle技术网—如何自动生成一个含有20000101至20500101共50年日期的表Oracle技术网—如何自动生成一个含有2000年01月至2050年01月共50年月份的表Oracle技术网—删除a表中和b表相同的数据Oracle技术网—在Oracle快速进行数据行存在性检查Oracle技术网—怎样查看表的结构Oracle技术网—怎样改变SQL*Plus启动时默认路径Oracle技术网—怎样计算表中的记录数Oracle技术网—怎样在SQL*Plus中使用 '&' 来实现自定义参数变量?Oracle技术网—怎样在查询记录时给记录加锁Oracle错误Oracle7 7.3.2.2Oracle技术网—Oracle 816中如何启动Enterprise ManagerOracle技术网—Oracle Enterprise Manager(OEM)工具中如何以SYSOPER、SYSDBA方式登录Oracle技术网—ORACLE数据库应用开发常见问题及排除Oracle技术网—监听器错误Oracle技术网—联机热备份失败后,如何打开数据库Oracle技术网—没有备份、只有归档日志,如何恢复数据文件Oracle技术网—某个数据文件损坏,如何打开数据库Oracle技术网—如何使用归档日志进行完全恢复Oracle技术网—如何正确建立TYPE、partition(分区)Oracle技术网—一个控制文件被损坏,如何启动Oracle技术网—在SQL*Plus中insert进的都是中文的,为什么一存入服务器后,再select出的就是???了Oracle技术网—重装Oracle服务器后,以前的数据可以恢复吗Oracle初学者入门Oracle技术网—Oracle 8.1.6 for Win2000 系统文件解释Oracle技术网—Oracle 基本知识Oracle技术网—Oracle8 数据类型Oracle技术网—what is sql?Oracle技术网—安装、配置后,SQL*Plus操作初步Oracle技术网—安装Oracle后,经常使用的修改表空间的SQL代码Oracle安装、删除Oracle技术网—Oradim工具的用法Oracle技术网—WINDOWS NT上,如何删除ORACLE SERVICEOracle技术网—如何连接两台Oracle服务器Oracle技术网—如何在Windows 2000下将Oracle完全卸载Oracle技术网—如何在WINDOWS NT上删除所有的Oracle安装?Oracle技术网—手工安装数据库时需要安装那些系统包Oracle技术网—手工创建数据库的全部脚本及说明Oracle安全性问题Oracle技术网—Linux ORACLE 8.1.5漏洞Oracle技术网—Oracle 8.1.6的oidldapd中的漏洞Oracle技术网—Oracle8的不安全因素及几点说明Oracle技术网—Oracle数据库的安全策略Oracle技术网—Oracle数据库密码文件的使用和维护Oracle技术网—提高Oracle数据库应用系统安全的举例与分析数据库安全性策略Oracle系统设置、优化、连接《Oracle8 优化技术》摘录 (第一章 安装)《Oracle8 优化技术》摘录 (第二章 内存/CPU)《Oracle8 优化技术》摘录 (第三章 输入/输出)Oracle技术网—ASP 中通过OLEDB访问 Oracle 的代码Oracle技术网—Delphi5 企业版使用BDE访问 Oracle方法Oracle技术网—oracle database access objectOracle技术网—Oracle基于Client/Server的性能调整Oracle技术网—PB7 连接 Oracle 的配置方法Oracle技术网—PB内置Oracle数据库接口的使用方法Oracle技术网—PHP+Oracle(OCI) 初步Oracle技术网—PHP4连接Oracle 8i的方法(转译)Oracle技术网—多个数据库时,如何设置默认数据库Oracle技术网—如何备份Oracle设置Oracle技术网—如何让你的SQL运行得更快Oracle技术网—如何修改 SQL*Plus 的启动参数Oracle技术网—如何在Windosws 2000中安装JSP并访问OracleOracle技术网—如何在Windosws 2000中安装perl并访问OracleOracle技术网—如何在Windosws 2000中安装PHP4并访问OracleOracle技术网—如何在Windosws NT中使用批处理命令自动启动或关闭Oracle ServicesOracle技术网—如何在客户端省略输入数据库串,而只输入用户名、密码即可Oracle技术网—使用Database Configuration Assistant安装第二个数据库Oracle技术网—修改Oracle7数据库maxdatafiles参数的方法索引、序列、快照、数据库链路、触发器Oracle技术网—触发器的几种应用Oracle技术网—建立触发器时最容易忽略的两个地方Oracle技术网—快照和触发子结合使用的例子Oracle技术网—能否通过视图更新表中的数据Oracle技术网—如何创建一个简单的JAVA存储过程?Oracle技术网—如何创建隐藏IP地址的最后一项的函数?Oracle技术网—如何加密Oracle中的存储过程Oracle技术网—为什么有时ORACLE数据库不用索引来查找数据Oracle技术网—我的数据库链路为什么不工作Oracle技术网—一个建立快照的简单例子Oracle技术网—怎样创建一个简单的自定义过程并引用Oracle技术网—怎样手工刷新快照oracle与其他数据库的比较MySQL 测试Oracle技术网—Oracle 和 mysql 的一些简单命令对比参照Oracle技术网—Oracle8i和Microsoft SQL Server7.0比较Oracle技术网—比较SQL Server与Oracle、DB2Oracle技术网—各种数据类型的比较Oracle技术网—戏说SQL—几种SQL 服务器的比较关键任务      在Internet上运作公司是一项艰苦的任务其它知识OEM常见问题及其解决办法Oracle 8 资料库函式库Oracle 资料库函式库Oracle技术网—Decode()函数使用技巧(NT+IIS+ASP+ORACLE)Oracle技术网—Dual伪列Oracle技术网—NULL 使用详解Oracle技术网—OLAP及其多维数据分析Oracle技术网—Oracle for NT系统实用工具介绍Oracle技术网—ORACLE 用户的规范化管理Oracle技术网—user、uid伪列Oracle技术网—大型数据库设计原则Oracle技术网—留言簿(带Oracle数据库分页的显示功能)Oracle技术网—漫谈oracle中的空值Oracle技术网—如何正确利用Rownum来限制查询所返回的行数Oracle技术网—什么是ROWID,为什么需要它Oracle技术网—数据库技术考试大纲(中级)Oracle技术网—数据库行业的现状和展望Oracle技术网—在客户端处理Oracle的数据行加锁问题如何对CLOB行字段执行全文检索Developer 2000Oracle技术网—Developer/2000中各键盘触发子所对应的“按键”Oracle技术网—FORM调用REPORT时,如何去掉report serverOracle技术网—FORM中,Exception(例外)都有哪些,如何书写Oracle技术网—FORM中,FORM中,如何引入图像Oracle技术网—FORM中,WINDOW标题的设置Oracle技术网—FORM中,常用快捷键有哪些Oracle技术网—FORM中,触发子exit_form的两种功能是什么Oracle技术网—FORM中,当光标走到块的最后一项时,如何让按“enter回车”键时,光标自动走到下一条记录的第一项?Oracle技术网—FORM中,当用鼠标点击标签画布的某一“标签页”时,如何判断点击的是哪一页Oracle技术网—FORM中,如何屏蔽默认的功能键Oracle技术网—FORM中,如何实现屏幕同步刷新?Oracle技术网—FORM中,如何使用警告Oracle技术网—FORM中,如何通过 ODBC 访问 Acress 数据?Oracle技术网—FORM中Oracle技术网—FORM中,设置应用特性(光标类型)Oracle技术网—FORM中,怎样创建动态下拉列表ListOracle技术网—FORM中如何存取声音Oracle技术网—FORM中如何存取图象?如何把图象从一个表中导到另一个表中?Oracle技术网—MIS中的图像应用技术Oracle技术网—MIS中的图像应用技术Oracle技术网—从FORM中调用REPORT时,如何使打印结果直接输出到打印机上Oracle技术网—如何从FORM中调用REPORT程序Oracle技术网—如何改变FORM(FMX模块)运行时的title?Oracle技术网—如何在FORM运行中,使定制菜单中的“窗口(W)”菜单项不显示Oracle技术网—如何在启动FORM程序时直接登录到Oracle数据库上?Oracle技术网—运行FORM时,如何使按钮变灰(即无效)Oracle技术网—运行FORM时,如何使窗口(runtime窗口、画布窗口)自动变成最大化、最小化?Oracle技术网—在Developer/2000中如何读写文本型操作系统文件Oracle技术网—在Oracle中实现报表的定长输出linux vs UnixHow To Install Oracle 8.0.5 onto RedHat Linux 6HOWTO: OAS for Linux on FreeBSDHOWTO: Oracle for Linux on FreeBSDOracle 7.3.4 Enterprise Edition for SCO UNIX 安装步骤Oracle技术网—Oracle .com 套件在TurboLinux上的安装Oracle技术网—ORACLE 7.3 Enterprise在SCO OPEN SERVER 5.02 及 5.04 的安装过程Oracle技术网—ORACLE 7.3.4.2 for SCO Unix 安装说明Oracle技术网—Oracle 8 for solaris 2.6 安装步骤Oracle技术网—Oracle 8(8.0.5)标准版安装指南Oracle技术网—Oracle 8i(8.1.5)企业版安装指南Oracle技术网—ORACLE FOR SUN SOLARIS 安装手册Oracle技术网—ORACLE FOR SUN SOLARIS 维护手册Oracle技术网—ORACLE V.7.3.4.3 FOR AIX 安装说明Oracle技术网—ORACLE8I FOR SUN SOLARIS2.7 安装说明Oracle技术网—RedHat 6.1 Step-by-step Install notes for Oracle 8iOracle技术网—RedHat Linux 6.0 上 Oracle 8(8.0.5)标准版 安装实例Oracle技术网—RedHat Linux 6.0 上 Oracle 8i R2 (8.1.6) 企业版安装实例Oracle技术网—如何集成Linux/Apache/PHP4/FastCGI/Oracle/MySQL环境Oracle技术网—如何在你的Linux机器上安装运行OracleOracle技术网—为Linux配备Oracle 8Oracle技术网—在RedHat 6.0上安装Oracle 8i(全攻略)
文字

PB内置OEACLE数据库接口的使用方法

马长明
  PowerBuilder(PB)和Oracle分别是前端开发工具和RDBMS的主流产品。PB提供了两种与Oracle连接的接口:Pow
erSoft内置的数据库接口(Native Database Interface)和ODBC接口。本文介绍使用PB60内置Oracle接口的方法
,包括数据描述文件的设置、存储过程的调用和存储过程作为数据窗口数据源的操作方法等内容,使用的RDBMS的Or
acle 73。

  PowerBuilder与Oracle的连接

  假定已安装Oracle客户端应用程序。可用Sqlplus或Tnsping等是否能连接到Oracle数据库,确定在SQLNET配
置文件中使用的数据库别名(Database Alias,又称服务器名,Server Name)。如有疑问,可在Oracle客户端程序
目录下tnsname.ora文件中找到。另外保证搜索路径已包括SQL*NET应用程序的安装目录(如C:\ORAWIN95\BIN)。

  进入PB的Database Profiles画笔,可看到所有已安装的数据库接口(PB60缺省安装的是Oracle 73版的接
口,如使用低版本的Oracle,需在安装时指定),选择“O73 Oracle 73”,点击“New”按钮,进入Database Pro
file 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。

  一般情况下,方法一能得到较好的运行效率和更完善的功能。因此推荐使用方法一。但是某些类型的存储过程只能使用其他方法。以下重点介绍方法一和方法二。
  两种方法比较起来,有以下几点主要区别:

  1)方法一适用于具有IN、OUT和IN OUT参数的存储过程,而方法二仅支持IN和OUT参数,不支持IN OUT参数;
  2)方法一对参数的数目无限制,方法二最多支持255个参数;

  3)方法一不支持记录(Recorder)的传递,方法二可传递和接收记录。

  方法一操作步骤:

  1)在用户对象画笔中创建一个Class-Standard类型的,从Transaction继承的用户对象。

  2)在此用户对象中,声明Local External Functions,将存储过程以RPCFUNC关键字声明为外部函数。在Declare Local External Functions对话框中按Procedures按钮选择要调用的后台存储过程,或直接输入类似subroutin
e TEST(long id,ref string name)RPCFUNC ALIAS FOR “DEVTEST”的语句。例如中DEVTEST的参数为(id IN NUMBER,name IN OUT VARCHAR2)。

  3)保存该用户对象。

  4)在Application画笔中,进入应用属性对话框,在Variable Types页,将上Transaction用户对象设置为缺省的全局变量SQLCA。

  5)脚本中,编码调用相应的外部函数。形式:SQLCA焙数名(参数)。如可用“SQLCATEST(ln―id,ls―name);”调用例子中定义的DEVTEST存储过程。其中ln―id,ls―name为调用参数。

  方法一注意事项:

  1)由于PB中String类型的数据长度是动态分配的,因此对Ref String类型的参数,每次调用前需要申请足够的
空间。例如上例从输入的id值检索name,后台声明的NAME数据类型为VARCHAR2(30),每次调用SQLCATEST前需要
用ls―name=SPACE(30)置ls―name为足够长度的空串。
  2)类似地当传递的参数为数组(后台称PL/SQL Table)时,声明参数为相应类型的动态数组,并在每次调用前设
置数组上界为足够大的值。例如:DEV用户的DEPT包中声明了TYPE tbl―name IS TABLE OF VARCHAR2(30) INDEX B
Y BINARY―INTEGER;存储过程EMP―OF―DEPT(dept―id IN NUMBER,name OUT DEPT.tbl―name)返回部门编写为de
pt―id的部门的所有员工,置name数组中。假定所有部门的员工数目不超过100,则可用以下语句声明和调用DEV
EMP―OF―DEPT:

  Declare External Functions对话框中:

  Subroutine EMP―OF―DEPT(long dept―id,ref str
ing name[]) RPCFUNC ALIAS FOR ″DEV.EMP―OF―DEPT


  PowerScript脚本中:

  long ln=dept―id

  string lsa―name[]

  ……

  lsa―name[100]=″ //置动态数组lsa―name上界为
100

  ln―dept―id=2

  SQLCA.EMP―OF―DEPT(ln―dept―id,lsa―name) /
/检索部门2的所有员工的名字

  方法二使用方法:

  在脚本中加入如下编码(以DEVTEST为例):

  long ln―id

  string ls―name

  ln―id=100

  DECLARE test PROCEDURE FOR DEV.TEST(:ln―id);
//test有一个IN参数,一个OUT参数

  EXECUTE test;

  FETCH test INTO:ls―name;

  方法三使用方法:

  根据输入输出参数的不同,PB中的动态SQL语句有四种格式:1)无输入输出参数;2)只有输入参数,无输出参
数;3)有确定数目输入输出参数;4)输出结果列的数目不定。其中第1)、第2)中格式的动态SQL语句也可用来调用简
单的存储过程。

  1)没有输入输出参数的存储过程。例如DEVDEMO1存储过程没有输入输出参数,可用下列语句调用:

  sqlstring=″EXECUTE DEMO1()″

  EXECUTE IMMEDIATE:sqlstring;

  2)只有输入参数的存储过程。例如DEV.DEMO2(name IN VARCHAR2,birthday IN DATE)

  PREPARE SQLSA FROM ″EXECUTE DEMO2(?,?);″

  EXECUTE SQLSA USING:ls―name,:ldt―birthday;

  如果是72以下版本的Oracle,可用方法四PBDMBS.Put―Line()函数调用建立存储过程。此时需选上Database Profile中的PBDBMS复选框。

  存储过程作为数据窗口的数据源

  以一个简单数据窗口(显示服务器的系统时间)为例说明怎样创建存储过程作为数据源的数据窗口。

  1)在某个包(如PACK―TYPE)中定义日期类型的Recorder自定义数据类型datarec;

  2)创建返回系统时间的存储过程:

  PROCEDURE get―sysdata(sysdt IN OUT PACK-TYPE
.datarec)IS

  BEGIN

  open sysdt for select sysdate from dual;

  END;

  3)新建数据窗口,数据源选择Stored Procedure;

  4)在随后的Select Stored Procedure对话框中选择get―sysdate即可。

  如果作为数据源的存储过程有IN参数,则这些参数就是数据窗口的检索参数(Retrieve Argument)。

  

  
上一篇:下一篇: