DB2 for z/OS 存储过程的二进制部署
当从 Stored Procedure 文件夹启动向导时,可以看到之前部署过的一组存储过程。您可以选择所有的存储过程,或者只选择想要部署的存储过程(见图 3)。
图 3. Selection 列表
在选择好要部署的存储过程之后,可以看到如图 4 所示的面板。对于部署的目标服务器,Deploy 向导为用户提供了三个选择。用户可选择的目标有:
当前连接:创建项目时指定的连接。
已有的不同连接:下拉列表中显示的一系列来自 Database Explorer 的活动连接。
不同的新连接:单击 “New” 按钮可启动 DWB 的连接向导。用户可以使用该向导输入新连接的连接信息。
图 4. 部署选项
仍然是在这个面板中,Deploy 向导为用户提供了使用二进制文件进行部署时的选项(见图 4 底端)。当部署到 DB2 for z/OS V8 及以上版本时,“Target Load Library” 字段被启用。由于使用 DSNTPSMP 编译的 SQL 存储过程在库中保留了它们被编译过的代码,因此该工具需要知道,编译后的代码应该放在目标服务器上的什么地方。用户还可以通过选择 Deploy by building the source 单选按钮,“复制(copy)” 外部 SQL 存储过程。
在接下来的面板中,Deploy 向导显示了例程和部署选项,如图 5 所示。用户可以选择为使用二进制文件部署的存储过程修改这些字段。
图 5. Routine 选项
当单击 Finish 按钮时,DWB 将开始部署二进制文件。
对于 DB2 for z/OS SQL 存储过程,DWB 调用一系列 DB2 提供的存储过程来为用户执行以下任务:
创建到源服务器和目标服务器的连接。
从源服务器获得存储过程装载模块。
将装载模块写到目标服务器的装载模块库中。
在目标服务器上执行来自源服务器的 CREATE PROCEDURE DDL,以编目存储过程。
在目标服务器上,使用用户在 Deploy 向导中指定的例程和部署选项,并加上 COPY 选项执行 BIND PACKAGE。
对于 DB2 for z/OS Java 存储过程,DWB 执行与前面列出的手动过程类似的步骤。DWB 将:
从源服务器的 SYSJARCONTENTS 编目表中提取出 JAR 文件。
在部署 SQLJ 存储过程时,将 JAR 文件写到一个文件中,并执行 BIND PACKAGE COPY 在目标服务器上创建包。
使用 DB2 提供的 SQLJ_INSTALL_JAR 存储过程在目标服务器上安装 JAR 文件。
对于 SQLJ 存储过程,根据 Deploy 向导中的绑定选项,将串行化的 profile 文件绑定到目标服务器。
根据用户对 ddl 的修改,例如对模式、WLM 环境和集合 ID 的修改,生成 Create Procedure DDL。
在目标服务器上执行该 DDL。