2

我已经在我的本地机器上安装了 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 条记录。这意味着它无法访问数据库。

任何帮助将不胜感激。

4

2 回答 2

2

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

错误的。当您连接时,DB2 会告诉您这一点。您的示例仅显示用户 db2admin 在其默认模式中没有表。

尝试这个:

list tables for schema user_name

user_name数据库创建者的名称在哪里。

注意

list tables

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

于 2013-07-16T12:47:13.590 回答
1

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

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

    db2 connect to SAMPLE

    在这里,默认情况下连接将使用您的 Windows 域 ID。您可以通过返回“SQL 授权 ID =”来检查这一点

  2. db2 grant DATAACCESS on DATABASE to user db2admin

    这将授予DATAACCESS权限db2admin

  3. 终止连接:db2 terminate

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

  5. 您应该能够使用您的db2admin

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

  1. IBM Data Studio 无法浏览 SAMPLE (DB2 Express-C) 上的数据
  2. 如何在 Windows 上使用 DB2 9.7 向本地 db2admin 授予所有权限?

请让我知道它是如何工作的。

于 2015-11-03T03:51:14.497 回答