IBM Data Studio无法浏览SAMPLE上的数据(DB2 Express-C)

时间:2015-03-08 17:32:50

标签: db2 ibm-data-studio

我无法浏览SAMPLE DB上的数据。安装程序如下: - Windows 7 64位PRO, - IBM DB2 Express-C,10.5.500.107(最新) - IBM Data Studio V4.1.1(管理员安装,使用IBM Installation Manager 1.8.1安装)

数据库凭据是:db2admin / db2admin Windows管理员用户名是:Nenad(密码保护)

使用DB2命令行处理器(Start - > IBM DB2 DB2COPY1(默认) - > DB2命令行处理器)我可以使用以下命令连接到SAMPLE数据库:

db2 => connect to sample
Database Connection Information

 Database server        = DB2/NT64 10.5.5
 SQL authorization ID   = NENAD
 Local database alias   = SAMPLE

查询人员表:

db2 => select * from staff

ID     NAME      DEPT   JOB   YEARS  SALARY    COMM
------ --------- ------ ----- ------ --------- ---------
    10 Sanders       20 Mgr        7  98357.50         -
    20 Pernal        20 Sales      8  78171.25    612.45
    30 Marenghi      38 Mgr        5  77506.75         -
    40 O'Brien       38 Sales      6  78006.00    846.55
    50 Hanes         15 Mgr       10  80659.80         -
    60 Quigley       38 Sales      -  66808.30    650.25
    70 Rothman       15 Sales      7  76502.83   1152.00
    80 James         20 Clerk      -  43504.60    128.20
    90 Koonitz       42 Sales      6  38001.75   1386.70
   100 Plotz         42 Mgr        7  78352.80         -
   110 Ngan          15 Clerk      5  42508.20    206.60
   120 Naughton      38 Clerk      -  42954.75    180.00
   130 Yamaguchi     42 Clerk      6  40505.90     75.60
   140 Fraye         51 Mgr        6  91150.00         -
   150 Williams      51 Sales      6  79456.50    637.65
   160 Molinare      10 Mgr        7  82959.20         -
   170 Kermisch      15 Clerk      4  42258.50    110.10
   180 Abrahams      38 Clerk      3  37009.75    236.50
   190 Sneider       20 Clerk      8  34252.75    126.50
   200 Scoutten      42 Clerk      -  41508.60     84.20
   210 Lu            10 Mgr       10  90010.00         -
   220 Smith         51 Sales      7  87654.50    992.80
   230 Lundquist     51 Clerk      3  83369.80    189.65
   240 Daniels       10 Mgr        5  79260.25         -
   250 Wheeler       51 Clerk      6  74460.00    513.30
   260 Jones         10 Mgr       12  81234.00         -
   270 Lea           66 Mgr        9  88555.50         -
   280 Wilson        66 Sales      9  78674.50    811.50
   290 Quill         84 Mgr       10  89818.00         -
   300 Davis         84 Sales      5  65454.50    806.10
   310 Graham        66 Sales     13  71000.00    200.30
   320 Gonzales      66 Sales      4  76858.20    844.00
   330 Burke         66 Clerk      1  49988.00     55.50
   340 Edwards       84 Sales      7  67844.00   1285.00
   350 Gafney        84 Clerk      5  43030.50    188.00

  35 record(s) selected.

所以我想DB / DBMS工作正常。

然后我使用设置在Data Studio中创建连接:

Database: SAMPLE
Host: localhost
Port number: 50000
Username: db2admin
Password: db2admin

测试连接: Ping成功!结果。

当我点击桌子时,我可以看到所有这些。

但是当我右键单击(Schema:NENAD)(表名:STAFF)数据 - >浏览数据我收到此错误:

Data Studio eror

com.ibm.db2.jcc.am.SqlSyntaxErrorException:语句失败,因为授权标识没有执行操作所需的授权或特权。授权ID:“DB2ADMIN”。操作:“选择”。对象:“NENAD.STAFF”.. SQLCODE = -551,SQLSTATE = 42501,DRIVER = 4.18.60 该语句失败,因为授权标识没有执行操作所需的授权或特权。授权ID:“DB2ADMIN”。操作:“选择”。对象:“NENAD.STAFF”.. SQLCODE = -551,SQLSTATE = 42501,DRIVER = 4.18.60

我尝试使用各种设置和用户名重新安装DB2和Data Studio,我尝试右键单击表然后管理权限(赋予DB2ADMIN和NENAD所有权限)但是徒劳无功。

我也无法创建新数据库,我收到了这个错误:

CREATE DATABASE FTN AUTOMATIC STORAGE YES ON'C:\ DB2 \ NODE0000'DBPATH ON'C:\ DB2 \ NODE0000'ALIAS FTN WITH'FNN database' 无法执行命令。 DAS返回以下错误:sqlcode = -22201 output = null

我的问题是:

  1. 我该如何解决此错误?
  2. 是否有一种简单的方法(就像在SQL开发人员中一样)来创建 用户,然后单击授予所有权限,这就是它?
  3. 使用Oracle Express DB和SQL Studio,我以非常简单的方式创建新的用户和授予权限:

    enter image description here enter image description here


    编辑 - 更新: 我不得不使用:

    Step 1:
    Start menu -> IBM DB2 DB2COPY1 (Default) -> DB2 Command Line Processor
    In DB2 Command Line Processor: 
    db2 => connect to sample
    db2 => GRANT DBADM ON DATABASE to db2admin
    
    Step 2:
    db2admin stop 
    db2admin start
    

    之后我能够在Data Studio中浏览数据,并执行查询,但我仍然无法从Data Studio创建新数据库


    这些帖子没有直接关联或没有帮助我解决此问题:

    Cannot connect IBM data studio with DB2 Express-C (Error: User Id Revoked)

    DB2 query runs in IBM Data Studio but not in code

    IBM Data Studio Connection error SQL1035N

    IBM Data Studio

    IBM data studio not connecting to local DB2 databases

    db2 Express-C SAMPLE database

    Why don't I see all of my DB2 instances in Data Studio?

    IBM DB2 created schema is not visible?

    IBM Data Studio (Admin client) version 3.1.1

    How to create New instance in db2 10.1 using IBM Data Studio

    How to create a new schema on a database at IBM Data Studio?

2 个答案:

答案 0 :(得分:3)

您的问题是您以Nenad身份登录命令行(您可以通过默认架构告诉它),并且您通过DataStudio以db2admin身份登录到数据库。您需要以Nenad身份登录Data Studio。或者作为Nenad,您需要向用户ID db2admin授予适当的权限。

  

编辑:要在下面的评论中添加以更好地解释事情和问题.... DB2不会像其他人一样使用创建的用户ID   数据库呢。它寻找底层操作系统或LDAP   认证。在Unix / Linux环境中,实例Id就是   管理上的最高ID是实例设置的ID   跑来跑去。您的db2admin帐户是此帐户。那就是   说.... Windows引入了不同的安全方案。即使   实例ID存在,谁安装了产品(他们的用户ID)   往往在DB2中被授予高级管理权限。当你   发出CREATE DATABASE声明,你正在使用你的声明   Windows用户标识。因此,它成为数据库的所有者   已授予DBADMSECADMDATAACCESSACCESSCTRL。   db2admin通常会有DBADM WITHOUT DATAACCESS WITHOUT ACCESSCTRL。因此,您需要以Nenad身份登录(ID为   SECADM)并授予(为了安全)DBADMSECADMDATAACCESS,   用户db2admin ACCESSCTRL。现在这个ID应该有你的样子   寻找。

     

我不建议任何ID的这些权限。如果你需要的只是   访问对表的读/写然后单独DATAACCESS应该这样做。

答案 1 :(得分:0)

创建新数据库存在同样的问题,我通过运行此命令解决了:db2set DB2_CREATE_DB_ON_CHANGE = YES 使用DB2命令窗口(以管理员身份): (1)停止数据库 (2)运行db2set DB2_CREATE_DB_ON_CHANGE = YES (3)启动数据库

现在,您可以通过指定本地存储,数据库名称......来创建一个包含Data Studio的新数据库。