什么是传递(Pass-Through)会话

 通过使用一个称为 传递(Pass-Through) 的特殊方式,您可以将 SQL 语句直接提交给数据源。您可以在数据源使用的 SQL 语言中提交 SQL 语句。当想要执行 DB2(R) SQL/API 不可能进行的操作时,使用传递(Pass-Through)会话。例如,使用传递(Pass-Through)会话来创建过程、创建索引或以数据源的本机语言执行查询。

当前,支持传递(Pass-Through)的数据源支持使用使用 SQL 的传递。将来,数据源有可能可以支持使用除 SQL 外的数据源语言的传递(Pass-Through)。

类似地,您可以使用传递(Pass-Through)会话来执行不受 SQL 支持的操作(例如,某些管理任务)。但是,您不能使用传递(Pass-Through)会话来执行所有管理任务。例如,您可以在数据源表上创建或删除表,但是不能启动或停止远程数据库。

您可以在传递(Pass-Through)会话中同时使用静态 SQL 和动态 SQL。

联合服务器提供下列 SQL 语句来管理传递(Pass-Through)会话:

SET PASSTHRU
打开传递(Pass-Through)会话。当您发出另一个 SET PASSTHRU 语句来启动新的传递(Pass-Through)会话时,当前传递会话被终止。
SET PASSTHRU RESET
终止当前的传递(Pass-Through)会话。
GRANT(服务器特权)
对用户、组和授权标识列表或 PUBLIC 授予启动与特定数据源的传递(Pass-Through)会话的权限。
REVOKE(服务器特权)
取消启动传递(Pass-Through)会话的权限。

下列限制适用于传递(Pass-Through)会话:

  • 您必须使用数据源的 SQL 语言命令,而不能使用 DB2 SQL 语言。因此,您不查询昵称,但直接查询数据源对象。
  • 当在传递(Pass-Through)会话中执行 UPDATE 或 DELETE 操作时,您不能使用 WHERE CURRENT OF CURSOR 条件。
  • 2 LOB 在传递(Pass-Through)会话中不受支持。
posted @ 2007-03-11 13:45  爱生活,爱编程  阅读(439)  评论(0编辑  收藏  举报