如何在DB2 z / OS中将完整数据库上的授予选择授予用户

舒巴姆·格罗弗(Shubham Grover)

我想将数据库中所有表上的选择权限授予db2 z / OS或大型机中的特定用户。我知道以下查询,我们可以通过使用ibmuser运行将表上的select授予用户。

GRANT SELECT ON <TableName> TO <UserName>

但是,我通过在ibmuser中使用Db2 z / OS存储过程进行了尝试:

CREATE PROCEDURE GRANT_SELECT_ON_DB(
IN DatabaseName   varchar(255),
IN UserName    varchar(255))
   LANGUAGE SQL
   BEGIN
      DECLARE v_NAME VARCHAR(64);
      DECLARE v_CREATOR VARCHAR(64);
      DECLARE v_GrantQuery VARCHAR(320);
      DECLARE c1 CURSOR FOR
      (SELECT NAME,CREATOR FROM SYSIBM.SYSTABLES tabs WHERE  upper(dBname)=upper(DatabaseName));
      OPEN c1;
      fetch_loop:
      LOOP
        FETCH c1 INTO v_NAME,v_CREATOR ;
       SET v_GrantQuery = 'grant select on '|| v_CREATOR ||'.'|| v_NAME ||' to  '|| UserName;
       EXECUTE IMMEDIATE v_GrantQuery;
      END LOOP fetch_loop;
      CLOSE c1;
END%

在调用存储过程时,它会卡在加载中,并且不会产生任何结果或错误。 call IBMUSER.GRANT_SELECT_ON_DB('<DatabaseName>','<UserName>')%

GRANT SELECT ON <DatabaseName> TO <UserName>不起作用,因为DB2 z / OS不支持它。请提出建议。可能是我缺少一些基本知识。

内拉吉·沙玛(Neeraj Sharma)

您可以尝试以下过程,它对我有用:

    CREATE PROCEDURE GRANT_SELECT_ON_DB(IN DatabaseName   varchar(255),
    IN UserName    varchar(255))
    LANGUAGE SQL
    MODIFIES SQL DATA
    BEGIN
        DECLARE v_NAME VARCHAR(400);
        DECLARE v_CREATOR VARCHAR(400);
        DECLARE v_GrantQuery VARCHAR(1000);
        FOR v1 AS
        c1 CURSOR FOR
        SELECT NAME,CREATOR FROM SYSIBM.SYSTABLES tabs WHERE  upper(dBname)=upper(DatabaseName)
        DO
            SET v_NAME = NAME;
            SET v_CREATOR = CREATOR;
            SET v_GrantQuery = 'grant select on '|| v_CREATOR ||'.'|| v_NAME ||' to  '|| UserName;
            EXECUTE IMMEDIATE v_GrantQuery;
        END FOR;
    END%
    
    call IBMUSER.GRANT_SELECT_ON_DB('<DatabaseName>','<UserName>')%

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在z / OS上的DB2 10中使用ROW_NUMBER?

来自分类Dev

如何在z / OS上的DB2 10中使用ROW_NUMBER?

来自分类Dev

如何使用SQL在IBM DB2 Z / OS中的表上显示当前特权

来自分类Dev

z / OS上针对DB2的HEX TO RAW功能

来自分类Dev

如何检查DB2 z / os中是否存在表空间

来自分类Dev

无法授予对db2数据库的任何权限

来自分类Dev

IBM DB2 z / os JDBC emulateParameterMetaDataForZCalls做什么?

来自分类Dev

HEX TO RAW function for DB2 on z/OS

来自分类Dev

如何在DB2上禁用SSL3?

来自分类Dev

如何在DB2中的表上查找主键?

来自分类Dev

如何在PHP中为DB2数据库表达mysql_num_rows

来自分类Dev

如何在Ubuntu上为Node.js安装IBM DB2数据库驱动程序

来自分类Dev

如何在DB2中编写将XML作为数据类型的列的选择查询?

来自分类Dev

如何在Jboss 6 EAP上为as400 db2设置数据源?

来自分类Dev

如何授予不使用特定用户名和密码的用户访问数据库的权限?

来自分类Dev

如何找到DB2(luw)数据库的大小?

来自分类Dev

如何获取转储db2数据库?

来自分类Dev

如何在特定数据库的架构中的所有表上授予特权?

来自分类Dev

如何从 DB2 Clob 检索数据?

来自分类Dev

如何在DB2中将varchar转换为时间戳

来自分类Dev

如何在DB2中将last_day格式转换为ddmmyyyy

来自分类Dev

如何在db2列选择查询中使用案例

来自分类Dev

如何在DB2表上写入datastage性能统计信息?

来自分类Dev

如何在OSX Mavericks上安装db2 Express-C 10.1

来自分类Dev

如何在Linux机器上检查DB2安装(Ubuntu)

来自分类Dev

如何在 DB2 中制作数据透视表?

来自分类Dev

当授予其组特权时,DB2如何获取用户特权信息

来自分类Dev

在Firebird数据库中,如何使用Grant选项将角色授予用户?

来自分类Dev

如何为Plesk 11用户授予对特定数据库的访问权限

Related 相关文章

  1. 1

    如何在z / OS上的DB2 10中使用ROW_NUMBER?

  2. 2

    如何在z / OS上的DB2 10中使用ROW_NUMBER?

  3. 3

    如何使用SQL在IBM DB2 Z / OS中的表上显示当前特权

  4. 4

    z / OS上针对DB2的HEX TO RAW功能

  5. 5

    如何检查DB2 z / os中是否存在表空间

  6. 6

    无法授予对db2数据库的任何权限

  7. 7

    IBM DB2 z / os JDBC emulateParameterMetaDataForZCalls做什么?

  8. 8

    HEX TO RAW function for DB2 on z/OS

  9. 9

    如何在DB2上禁用SSL3?

  10. 10

    如何在DB2中的表上查找主键?

  11. 11

    如何在PHP中为DB2数据库表达mysql_num_rows

  12. 12

    如何在Ubuntu上为Node.js安装IBM DB2数据库驱动程序

  13. 13

    如何在DB2中编写将XML作为数据类型的列的选择查询?

  14. 14

    如何在Jboss 6 EAP上为as400 db2设置数据源?

  15. 15

    如何授予不使用特定用户名和密码的用户访问数据库的权限?

  16. 16

    如何找到DB2(luw)数据库的大小?

  17. 17

    如何获取转储db2数据库?

  18. 18

    如何在特定数据库的架构中的所有表上授予特权?

  19. 19

    如何从 DB2 Clob 检索数据?

  20. 20

    如何在DB2中将varchar转换为时间戳

  21. 21

    如何在DB2中将last_day格式转换为ddmmyyyy

  22. 22

    如何在db2列选择查询中使用案例

  23. 23

    如何在DB2表上写入datastage性能统计信息?

  24. 24

    如何在OSX Mavericks上安装db2 Express-C 10.1

  25. 25

    如何在Linux机器上检查DB2安装(Ubuntu)

  26. 26

    如何在 DB2 中制作数据透视表?

  27. 27

    当授予其组特权时,DB2如何获取用户特权信息

  28. 28

    在Firebird数据库中,如何使用Grant选项将角色授予用户?

  29. 29

    如何为Plesk 11用户授予对特定数据库的访问权限

热门标签

归档