Crystal报表未连接到AS / 400 IFS的视图

时间:2013-07-10 14:55:47

标签: view ibm-midrange crystal-reports-xi ibm-ifs

我这里有一个奇怪的案例。我在AS / 400中创建了一个View。我需要让视图不加入逻辑,因为我需要做一个UNION ALL。视图已创建,我转到IFS并授予权限ALL。但是当我打开Crystal Reports时,建立与iSeries的连接,然后转到View的那个库,它没有显示,所以我无法使用。

还有什么我需要做的吗?

我只是尝试了别的东西。这是观点:

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报告中还有用于获取数据的命令,在那里你可以进行相同的查询但是我想在AS / 400上进行时间考虑,需要联合,否则我必须运行查询通过CL全天。所以我从SELECT点获取了上面的代码,并得到了这个错误:

  

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

不确定这意味着什么。

3 个答案:

答案 0 :(得分:1)

使用GRANT语句控制SQL权限。

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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