DSN 指挥(TSO)
TSO命令DSN启动DSN会话。
有关可在 TSO 命令 DSN 下发出的命令列表,请参阅 Db2 命令。
DSN 子命令
DSN命令有以下子命令:
| DSN子命令 | 描述 |
|---|---|
| ABEND | DSN子命令ABEND使DSN会话以中止完成代码 X'04E' 和原因代码 X'00C50101' 终止。 重要:
ABEND 子命令仅用于诊断目的,只能在 IBM 支持部门的指导下使用。 仅用于诊断DSN或 Db2 的问题。![]() |
| BIND PACKAGE | DSN子命令BIND PACKAGE用于创建应用程序包。 Db2 在目录表中记录软件包的描述,并将准备好的软件包保存在目录中。 BIND PACKAGE 还会删除已淘汰的包的副本。![]() |
| BIND SERVICE | BIND SERVICE (DSN) 子命令用于构建一个代表 Db2 REST 服务的应用程序包。 |
| BIND PLAN | DSN子命令BIND PLAN用于构建应用程序计划。 所有 Db2 程序都需要一个应用程序计划来分配 Db2 资源,并支持运行时提出的SQL请求。 |
| BIND QUERY | DSN子命令BIND QUERY从DSN_USERQUERY_TABLE的每一行读取语句文本、默认模式以及一组绑定选项,并从相关的EXPLAIN表行读取信息。当LOOKUP(NO)生效时, Db2 会将相关数据插入到特定的目录表中。 |
| FREE PACKAGE | FREE PACKAGE 子命令可用于删除特定版本的软件包、所有版本的软件包或整个软件包集合。 |
| FREE SERVICE | FREE SERVICE 子命令用于删除代表 Db2 REST服务的应用程序包。 |
| FREE PLAN | FREE PLAN 子命令从 Db2 中删除应用程序计划。 |
| FREE QUERY | FREE QUERY 子命令用于从一个或多个查询中删除特定目录表中的行。 如果动态语句缓存中有任何指定的查询,FREE QUERY 会将其从动态语句缓存中清除。 |
FREE STABILIZED DYNAMIC QUERY![]() |
FREE STABILIZED DYNAMIC QUERY 命令从某些目录表中删除一个或多个稳定的动态查询。 如果指定的查询语句存在于动态语句缓存中, FREE STABILIZED DYNAMIC QUERY 还会从动态语句缓存中清除这些语句。![]() |
| DCLGEN (DECLARATIONS GENERATOR) | 声明生成器(DCLGEN)会为目录中指定的表或视图生成SQL DECLARE TABLE语句,以及 COBOL、 PL/I 或C数据声明。 |
| REBIND PACKAGE | 当您对应用程序包进行了影响包但未更改程序中SQL语句的更改时,DSN子命令REBIND PACKAGE会重新绑定该应用程序包。 |
| REBIND PLAN | 当您对计划(如软件包列表)的属性进行更改时,DSN 子命令 REBIND PLAN 会重新绑定该计划。 |
| REBIND TRIGGER PACKAGE | DSN子命令REBIND TRIGGER PACKAGE用于为基本触发器重新绑定一个包。 您可以通过查询 SYSIBM.SYSTRIGGERS 目录表来识别基本触发器。 SQLPL列中的空白值表示基本触发器。 对于高级触发器,请使用REBIND PACKAGE命令。![]() |
| RUN | DSN子命令RUN执行应用程序,其中可能包含SQL语句。 |
| SPUFI | DSN子命令SPUFI使用文件输入执行SQL处理器。 |
在DSN会话中,您还可以输入 Db2 命令,但START除外 DB2。 Db2 命令必须以连字符 (-) 开头。有关 命令的详细说明,请参阅 Db2 Db2 命令 下名称以识别字符 -开头
并以 (Db2
)结尾的命令。
您也可以用星号(*)开头输入评论。
TEST '
prefix
.SDSNLOAD(DSN)' CP
ABEND 子命令仅用于诊断目的,只能在 IBM 支持部门的指导下使用。 仅用于诊断DSN或 Db2 的问题。
在DSN会话期间,百分比命令无法识别,只有TSO命令处理器支持。
环境 DSN
DSN会话在TSO下以前台或后台模式运行。 当您在后台运行时,系统不会提示您进行更正或提供其他所需信息。
您也可以从前台或后台运行的CLIST启动DSN会话。
数据共享范围 :会员
授权 DSN
DSN命令不需要任何授权,但大多数子命令需要授权。
语法 DSN
选项说明 DSN
- SYSTEM
- (子系统名称 )
- 指定 Db2 子系统的名称。
- (群组附件名称 )
- 指定数据共享组的组附件名称。
- (子组-附件-名称 )
- 指定数据共享组的子组附件名称。
默认值为 SYSTEM( DSN ) 该值可在 Db2 安装过程中修改。
- 重试 (整数 )
- 指定当DSN发出时,如果 Db2 未启动或已达到批处理连接的最大数量,则应尝试与 Db2 子系统连接的额外次数(整数)。 重试间隔时间为30秒。
默认值 为RETRY (0 )。 最大重试次数为120次。
- 测试 (整数 )
- 指定模块名称的最后两位数字(整数),以便追踪单个DSN模块。 指定大于100的数字,以追踪所有DSN模块。 DSN跟踪信息被写入TSO SYSTSPRT DD语句,也可以选择写入DSNTRACE DD语句。
- GROUP
- (是的)
- 指定当系统不活动时,考虑组附件处理。
- (否)
- 指定不考虑组附加处理。
- ASUSER (用户ID )
- 指定一个用户ID,用于关联当前DSN会话的可信连接。
如果主授权ID和工作名称与 Db2 中定义的可信上下文匹配,则可建立可信连接。 您指定为 ASUSER 的用户 ID 将通过标准授权和连接退出处理来获取主 ID 和辅助 ID。 如果主授权ID被允许使用无需身份验证的可信连接,则 Db2 将为ASUSER用户ID建立可信连接。 主授权ID、任何辅助授权ID以及与ASUSER用户ID关联的任何角色现在都适用于可信连接。
如果您在 ASUSER 选项中指定的用户 ID 关联的授权 ID 不允许使用可信连接或需要身份验证信息,连接请求将失败。
Db2 仅在DSN会话期间保留ASUSER值。
使用说明 DSN
- 在前台操作中,终端会提示您输入字符串DSN。 在后台模式下,您的输入将从SYSTSIN数据集中读取。
- 除了在 DCLGEN 命令中分隔的表名,小写字母输入将自动转换为大写。
- 如果指定了任何子命令的重复关键字,则仅处理最后一个关键字。 例如,如果 MEMBER( dbrm-member-name1 )和MEMBER( dbrm-member-name2 )都指定了BIND PLAN,则 Db2 只会收到后者MEMBER( dbrm-member-name2 )。
- 如果在DSN会话期间按下ATTENTION( PA1 ),且在TSO用户配置文件中指定了PROMPT,则会出现 DSNE005 消息:
EXECUTION IS INTERRUPTED, ENTER C TO CANCEL, OR ANY OTHER REPLY TO RESUME THE subcommand SUBCOMMAND。如果输入 C,当前子命令将被取消,当前 Db2 连接将终止;将建立一个新的连接,并出现另一个数据源名称(DSN)提示。 除“注意”以外的任何其他回复都会导致当前子命令从中断处继续执行。
如果从CLIST启动DSN会话,或者在DSN下执行CLIST,则必须在CLIST中指定CONTROL PROMPT,以便接收消息 DSNE005。
- 在DSN会话期间处理完命令后,系统会提示您输入。 这个循环会一直持续到您结束会话。
- 您可以通过以下操作之一结束会话:
- 发出END子命令。 控制权移交给了TSO。
- 按下“注意”键,再次按下“注意”键即可回复信息。
- 再发出一个DSN命令。 旧的一届结束,新一届开始。
DSN 返回代码处理 :在 DSN 会话结束时,寄存器 15 包含会话中任何 DSN 子命令或使用 RUN 子命令运行的任何程序使用的最高值。 您的运行环境可能会将该值格式化为返回代码。 然而,价值并非源自DSN。
使用TSO和 DB2I: 建立可信环境 , DB2I 在TSO下运行,使用 ISPF 服务。 DB2I 设施为SPUFI和DCLGEN等工具以及准备 Db2 程序和装订计划与包等任务提供了一个 ISPF 前端。 DB2I 默认面板中包含“以用户身份”字段。 使用“AS USER”字段指定当前会话中与可信连接关联的授权名称。 当TSO登录ID与系统授权ID和为可信环境定义的工作名称匹配时,可信连接即建立。 在输入 DB2I 时,ASUSER字段始终为空。 如果您在 AS USER 字段中输入一个值,则该值将通过 DSN (TSO) 命令的 ASUSER 选项传递给所有 TSO 附加(DSN)调用。
监视器的附加设施: 对于监视器等长期运行的程序,请使用可编程的附加设施(如 CAF 或 RRSAF),而不是使用 Db2 TSO 附加设施。 TSO附件设施并非为长期项目而设计。 使用TSO附件功能执行此类程序可能会导致存储或恢复问题。
例子 DSN
- 示例:启动一个DSN会话,并多次重试
- 以下命令启动数据源名称(DSN)会话。 如果尝试连接 Db2 失败,则最多重试五次,每次间隔30秒。
DSN SYSTEM (DB2) RETRY (5) - 示例:启动DSN会话、运行程序并结束DSN会话
- 以下示例显示了启动DSN会话、运行程序和结束DSN会话的命令。
TSO prompt : READY USER enters: DSN SYS(SSTR) DSN prompt : DSN USER enters: RUN PROGRAM(MYPROG) DSN prompt : DSN USER enters: END TSO prompt : READY
