我在本地计算机上安装了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条记录。这意味着它无法访问数据库。
任何帮助都将受到高度赞赏。
答案 0 :(得分:2)
这意味着它无法访问数据库。
错误。 当你连接时,DB2会告诉你。 您的示例仅显示用户db2admin在其默认架构中没有表。
试试这个:
list tables for schema user_name
其中user_name
是数据库创建者的名称。
请注意
list tables
列出当前用户的表,并在您创建一些之前返回0行。
答案 1 :(得分:1)
我认为您可以尝试以下步骤:(这里我将使用SAMPLE作为示例)
使用您的Windows域ID连接到SAMPLE:
db2 connect to SAMPLE
此处,默认情况下,连接将使用您的Windows域ID。然后通过返回“SQL authorization ID =”
db2 grant DATAACCESS on DATABASE to user db2admin
这会授予DATAACCESS
db2admin
权限
终止连接:db2 terminate
使用db2admin连接到SAMPLE:db2 connect to sample user db2admin using 'password'
您应该可以使用db2admin
您可以在此处阅读有关Windows域ID和db2admin的更多信息: