编译程序时有关bind的说明
BIND决定着对访问数据库的权限,是对数据库访问的授权部分,
1. BIND决定程序访问的TABLE是哪个ID的?
(1) BIND PLAN(CN0001) MEMBER(PGM)
访问的是ID为CN0001的TABLE也就是USER自己的TABLE
(2) BIND PLAN(CN0001) MEMBER(PGM) OWNER(CN0002)
访问的是ID为CN0002的TABLE
(3) BIND PLAN(CN0001) MEMBER(PGM) OWNER(CN0002)
QULIFIER(CN0003)
访问的是ID为CN0003的TABLE
当然访问其它ID的TABLE就必须要先授权给你。
2.BIND PACKAGE和BIND PLAN过程说明
BIND PACKAGE(FREPK) MEMBER(FREEZECL)
BIND PLAN(CN0006) PKLIST(FREPK.FREEZECL)
(1) BIND PACKAGE:把MEMBER装在命名为FREPK的PACKAGE中
(2) BIND PLAN:把PACKAGELIST授权给PLAN CN0006
要使用PACKAGE授权的时候,一般是多个PROGRAM要访问数据库的情况下,因为一个PLAN只能接受一次授权,所以如果不打包的话,就只能一个PROGRAM有访问数据库的权限。因此必须先把每个PROGRAM装在一个PACKAGE中,然后再把PACKAGE的列表授权给PLAN。
3. 所以综上所述,编译之后的PROGRAM的EXECTABLE MODULE和BIND之间存在的关系为:执行程序,在执行SQL部分时,访问的对象,权限都是BIND决定的,所以BIND是程序执行数据库的指南针。


















留名,也许日后用得着。呵。。
[回复]