我这里有一个奇怪的案例。我在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。
不确定这意味着什么。
答案 0 :(得分:1)
答案 1 :(得分:1)
“当我在水晶中看到表格和视图时,它不会在库中列出它。”
您确定该视图实际上在您认为的库中吗?
可能发生的事情是它可能是在另一个库中创建的。尝试检查QGPL库,或者如果您有一个与您的用户配置文件名称匹配的库,请检查那里。
答案 2 :(得分:0)
如果问题是'为什么我的合格对象名称ICLOCMLM无效。'答案可能是您正在使用* SQL命名,而您正在运行的语句正在使用* SYSTEM命名。尝试将FROM ASTDTA/ICLOCMLM
更改为FROM ASTDTA.ICLOCMLM
,看看5016错误是否消失。