0

我这里有一个奇怪的案例。我在 AS/400 中创建了一个视图。我需要查看不符合逻辑的视图,因为我需要执行 UNION ALL。视图已创建,我去了 IFS 并授予了所有权限。但是,当我打开 Crystal Reports,连接到 iSeries,然后转到视图的那个库时,它没有显示,所以我不能使用。

还有什么我需要做的吗?

我只是尝试了别的东西。这是视图:

CREATE VIEW MKLIB/BEMPLOCM AS
   ((SELECT  LMRIDC, LMCOM#, LMWHS#, LMLOC1, LMLOC2, LMLOC3, LMLTPC, LMLCT1
     FROM
        ((SELECT  LMRIDC, LMCOM#, LMWHS#, LMLOC1, LMLOC2, LMLOC3, LMLTPC, LMLCT1
          FROM ASTDTA/ICLOCMLM WHERE LMLTPC IN ('PCK', 'PAL', 'RAK')) t1
     EXCEPTION JOIN
        (SELECT * FROM ASTDTA/ICBALMIE) t2
           ON LMLOC1=IELOC1 AND LMLOC2=IELOC2 AND LMLOC3=IELOC3 )
     EXCEPTION JOIN
        (SELECT * FROM ASTDTA/ICBLDTIR) t3
           ON LMLOC1=IRLOC1 AND LMLOC2=IRLOC2 AND LMLOC3=IRLOC3 ))

现在在 Crystal 报表中还有 COMMAND 用于获取您的数据,在那里您可以进行相同的查询,但是尽管出于时间考虑我希望它在 AS/400 上,但需要联合,否则我必须通过 CL all 运行查询天。所以我从 SELECT 点获取了上面的代码,并得到了这个错误:

未能从数据库中检索数据。详细信息:HY000 IBM ISeries ACCESS ODBC DRIVER (DB2 UDB) sql 5016 - 限定对象名称 ICLOCMLM 无效。供应商代码 5016。

不确定那是什么意思。

4

3 回答 3

1

“当我看到水晶中的表格和视图时,它不会在图书馆中列出它。”

您确定视图实际上在您认为的库中吗?

可能发生的情况是它可能是在另一个库中创建的。尝试签入 QGPL 库,或者如果您有一个与您的用户配置文件名称匹配的库,请检查那里。

于 2013-07-10T23:37:40.883 回答
1

使用GRANT语句来控制 SQL 权限。

如果视图超过常规文件,您可能还必须使用命令GRTOBJAUTEDTOBJAUTRVKOBJAUT来修改这些对象的授权。

于 2013-07-10T15:32:00.857 回答
0

如果问题是“为什么我得到合格的对象名称 ICLOCMLM 无效。” 答案可能是您正在使用 *SQL 命名,而您正在运行的语句正在使用 *SYSTEM 命名。尝试更改FROM ASTDTA/ICLOCMLMFROM ASTDTA.ICLOCMLM并查看 5016 错误是否消失。

于 2013-07-11T02:01:42.070 回答