绑定应用程序包和计划
在 Db2 应用程序运行之前,必须将SQL语句处理器生成的DBRM绑定到一个包中。 绑定过程在应用程序及其关系数据之间建立联系。
准备工作
您必须拥有适当的权限。 欲了解更多信息,请参阅处理计划和套餐所需的权限
关于本任务
在预编译过程中, Db2 预编译器会为每个应用程序生成修改后的源代码和一个数据库请求模块(DBRM)。 修改后的源代码必须经过编译和链接编辑,才能运行程序。 DBRM必须绑定到一个软件包。 然后,您可以将此套餐与特定的应用计划关联起来。
在装订过程中, Db2 还会完成以下操作:
- 根据 Db2 目录验证程序SQL语句中的对象引用,例如表、视图和列名。 因为绑定过程在程序执行之前发生,所以可以在程序执行之前检测并更正错误。
- 验证绑定过程的授权,以指定程序所有者,并验证指定所有者访问程序中SQL语句所请求数据的授权。
- 选择 Db2 访问程序数据时使用的访问路径。 Db2 在选择访问路径时,会考虑表大小、可用索引等因素。
在确定计划的最大规模时,必须考虑一些物理限制,包括绑定计划所需的时间、EDM池的大小以及碎片化。 一般来说,EDM池的大小至少应为最大DBD或计划(以较大者为准)的10倍。
您装订的每个包只能包含一个DBRM。
例外: 如果程序中唯一的 SQL 语句是 SET CURRENT PACKAGESET,则无需绑定 DBRM。
因为您不需要计划或包来执行SET CURRENT PACKAGESET语句,所以编码绑定选项不会影响SET CURRENT PACKAGESET语句。 如果应用程序需要以系统默认编码方案之外的编码方案提供宿主变量值,则必须使用 DECLARE VARIABLE 语句来指定宿主变量的编码方案。
无论计划是否引用远程运行的程序包,您都必须将其绑定到本地。 但是,您必须在远程位置绑定在远程位置运行的程序包。
对于 Db2 请求者,您可以在RUN子命令中指定计划,但不能直接运行软件包。 您必须将软件包包含在计划中,然后运行该计划。
提示 :制定命名规范和策略,以便最有效、最高效地使用您的计划和方案。
过程
要绑定应用程序,请执行以下操作。