SQLJ.INSTALL_JAR

SQLJ.INSTALL_JAR 存储过程将 JAR 文件安装到数据库系统中。 此 JAR 文件可以在后续 CREATE FUNCTION 和 CREATE PROCEDURE 语句中使用。

授权

CALL 语句的授权标识所拥有的特权必须至少包含 SYSJAROBJECTS 和 SYSJARCONTENTS 目录表的下列其中一项:

  • 以下系统权限:
    • 对表的 INSERT 和 SELECT 特权
    • 对库 QSYS2 的系统权限 *EXECUTE
  • 管理权限

CALL 语句的授权标识所拥有的特权还必须具有以下权限:

  • 对正在安装的 jar-url 参数中指定的 JAR 文件的读 (*R) 访问权。
  • 对 JAR 文件安装目录的写,执行和读 (*RWX) 访问权。 此目录为 /QIBM/UserData/OS400/SQLLib/Function/jar/模式,其中 schemajar-id的模式。

采用的权限不能用于这些权限。

SQL 语法

     >>-CALL--SQLJ.INSTALL_JAR-- (--'jar-url'--,--'jar-id'--,--deploy--)-->
 
     >--------------------------------------------------------------><

描述

jar-url
包含要安装或替换的 JAR 文件的 URL。 唯一支持的 URL 方案是“file:”。
jar-id
要与 jar-url指定的文件关联的数据库中的 JAR 标识。 jar-id 使用 SQL 命名,并且 JAR 文件安装在隐式或显式限定符指定的模式或库中。 隐式限定符是运行时授权标识。
部署
用于描述部署描述符文件的 install_action 的值。 如果此整数是非零值,那么应该在 install_jar 过程结束时运行部署描述符文件的 install_actions。 当前版本的 Db2® for i 仅支持值 0。

使用注意事项

安装 JAR 文件时, Db2 for i 会在 SYSJAROBJECTS 系统目录中注册 JAR 文件。 它还从 JAR 文件中抽取 Java™ 类文件的名称,并在 SYSJARCONTENTS 系统目录中注册每个类。 Db2 for i 将 JAR 文件复制到 /QIBM/UserData/OS400/SQLLib/Function 目录的 jar/schema 子目录。 Db2 for i 为 JAR 文件的新副本提供了 jar-id 子句中提供的名称。 不应更改由 Db2 for i 安装到 /QIBM/UserData/OS400/SQLLib/Function/jar 的子目录中的 JAR 文件。 而是 CALL SQLJ.REMOVE_JAR 和 CALL SQLJ.REPLACE_JAR SQL 命令应用于除去或替换已安装的 JAR 文件。

示例

从 SQL 交互式会话发出以下命令。

     CALL SQLJ.INSTALL_JAR('file:/home/db2inst/classes/Proc.jar' , 'myproc_jar', 0)

位于 file:/home/db2inst/classes/ 目录中的 Proc.jar 文件将以名称 myproc_jar 安装到 Db2 for i 中。 使用 Procedure.jar 文件的后续 SQL 命令使用名称 myproc_jar 对其进行引用。