且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-07-18 15:09:49

通过使用一个称为 传递(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 条件。
  • LOB 在传递(Pass-Through)会话中不受支持。









本文转自 牛海彬 51CTO博客,原文链接:http://blog.51cto.com/newhappy/77003,如需转载请自行联系原作者