WEB开发网
开发学院数据库DB2 在 WebSphere Federation Server V9.1 中使用联邦... 阅读

在 WebSphere Federation Server V9.1 中使用联邦过程

 2009-12-24 00:00:00 来源:WEB开发网   
核心提示: 结果集存储过程可以返回零个或更多的结果集,每个结果集由一组行组成,在 WebSphere Federation Server V9.1 中使用联邦过程(8),一个结果集中的所有行具有相同的列数量和列类型,而不同的结果集可以具有不同的列布局,假设您知道联邦过程的名称和模式,SYSCAT.ROUTI

结果集

存储过程可以返回零个或更多的结果集,每个结果集由一组行组成。一个结果集中的所有行具有相同的列数量和列类型,而不同的结果集可以具有不同的列布局。不同的数据源在如何实现结果集方面有显著的差异。

在 DB2 中,所有结果集的生成不需要将它们声明为参数。有两种结果集,“RETURN TO CLIENT” 和 “RETURN TO CALLER”。前一种类型绕过所有嵌套的过程,直接返回给最初的应用程序;而后一种类型只能由调用者使用。调用者可以是客户机应用程序,也可以是另一个过程。

一般的 Sybase 结果集不声明为参数,并具有与 DB2 中 “RETURN TO CLIENT” 结果集相似的语义。为了能够在调用者中使用结果集,Sybase 添加了游标参数,但是这种参数只能在 Sybase 服务器中使用,而不能从 Sybase 客户机接口(比如联邦)使用。

在 Oracle 中,所有结果集显式地声明为 REFCURSOR 类型的参数。它们必须显式传递给调用者和被调用者。

CREATE PROCEDURE 语句中的 WITH RETURN TO CALLER/CLIENT 子句帮助实现所需的 Sybase 和 Oracle 结果集行为。

联邦过程参数和结果集的数据类型

在创建联邦过程时,使用默认的转发类型映射将远程过程参数和结果集的列的数据类型映射为 DB2 数据类型。

对于 Oracle 中没有精度、刻度或长度的数据类型,Oracle 数据类型被映射为具有最大长度的字符串或者 DB2 中的 DOUBLE,以便在执行 CREATE PROCEDURE 期间获得最大的范围。

用户可以使用 CREATE TYPE MAPPING 语句覆盖过程参数的默认类型映射。但是,结果集的类型映射不受用户定义的类型映射影响。

联邦过程编目

如果联邦过程的签名是未知的,那么用户可以使用下面列出的编目来查看签名。下面的 “示例” 一节描述了执行编目查看的查询。假设您知道联邦过程的名称和模式,SYSCAT.ROUTINEPARMS 是首先查询的编目。可以在 示例 一节中找到一些查询示例 。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:WebSphere Federation Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接