DB2:在localhost数据库上授予db2admin的所有权限

时间:2013-07-16 10:54:25

标签: java db2

我在本地计算机上安装了DB2 Express-C,并为我的用户名创建了示例数据库。 现在,我希望db2admin访问此示例数据库。 我试过下面的命令,

connect to DATABASENAME user USER_NAME using USER_PASSWORD

GRANT DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT,SECADM ON DATABASE TO USER DB2ADMIN;

但是,我也无法使用db2admin访问数据库表,如下所示,

connect to DATABASENAME user db2admin using USER_PASSWORD

list tables

显示0条记录。这意味着它无法访问数据库。

任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:2)

  

这意味着它无法访问数据库。

错误。 当你连接时,DB2会告诉你。 您的示例仅显示用户db2admin在其默认架构中没有表。

试试这个:

list tables for schema user_name

其中user_name是数据库创建者的名称。

请注意

list tables

列出当前用户的表,并在您创建一些之前返回0行。

答案 1 :(得分:1)

我认为您可以尝试以下步骤:(这里我将使用SAMPLE作为示例)

  1. 使用您的Windows域ID连接到SAMPLE:

    db2 connect to SAMPLE

    此处,默认情况下,连接将使用您的Windows域ID。然后通过返回“SQL authorization ID =”

  2. 来检查
  3. db2 grant DATAACCESS on DATABASE to user db2admin

    这会授予DATAACCESS

  4. db2admin权限
  5. 终止连接:db2 terminate

  6. 使用db2admin连接到SAMPLE:db2 connect to sample user db2admin using 'password'

  7. 您应该可以使用db2admin

  8. 访问数据库

    您可以在此处阅读有关Windows域ID和db2admin的更多信息:

    1. IBM Data Studio can't browse data on SAMPLE (DB2 Express-C)
    2. How do I grant all privileges to local db2admin with DB2 9.7 on Windows?
    3. 请告诉我它是如何运作的。