【发布时间】:2018-01-29 17:55:02
【问题描述】:
我正在 Db2 中创建一个 Java 存储过程。 我知道调用该过程的任何人都需要被授予对该过程的“执行”权限。 但是,从 Java 代码插入/更新/删除/选择表需要哪些权限?
在文档中我发现:“如果包或例程包含静态 SQL 语句,则包所有者的权限用于这些语句。如果包或例程包含动态 SQL 语句,则用于权限的授权 ID检查取决于发出动态查询语句的包的 DYNAMICRULES BIND 选项的设置,以及在例程上下文中使用包时是否发出这些语句" (https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.admin.sec.doc/doc/c0005478.html) 在另一个地方我发现:“JDBC 和 CLI 共享相同的包。”和“创建数据库时,CLI 包会自动绑定到数据库”。 我找到了这些软件包,例如 SYSSTAT 和 SYSSSH200。包所有者是“SYSIBM”,DYNAMICRULES 是“R”。 那么这是否意味着我必须向 SYSIBM 授予插入/更新/删除权限?
(我现在专门研究 LUW,但后来程序还需要在 Z 上的 Db2 上运行。)
感谢您提供的任何见解!
【问题讨论】:
标签: java stored-procedures permissions db2