2013-07-10 7 views
0

여기에 이상한 경우가 있습니다. AS/400에서 뷰를 만들었습니다. 나는 UNION ALL을 할 필요가 있기 때문에 뷰를 논리적으로 결합하지 않을 필요가있다. 보기가 생성되고 IFS로 이동하여 사용 권한을 ALL로 부여합니다. 그러나 Crystal Reports를 열어 iSeries에 연결하고 View의 해당 라이브러리로 이동하면 표시되지 않으므로 사용할 수 없습니다.Crystal 보고서가 AS/400 IFS의 뷰에 연결되지 않음

내가해야 할 다른 것이 있습니까?

방금 ​​다른 시도를했습니다. 이것은이다 :

크리스탈에서 지금
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)) 

또한 데이터를 얻기 위해 사용하는이 명령으로보고, 거기 당신은 같은 쿼리를 할 수 있지만 시간이 고려의 AS/400에 원하는 있지만, 노조 그렇지 않으면 하루 종일 CL을 통해 쿼리를 실행해야합니다. 그래서 위의 코드를 SELECT 지점에서 가져 와서이 오류가 발생했습니다.

failed to retrieve data from the database. Details: HY000 IBM ISeries ACCESS ODBC DRIVER (DB2 UDB) sql 5016 - Qualified object name ICLOCMLM not valid. Vendor code 5016.

확실하지 않은 내용입니다.

+0

** IFS **는 ** VIEW **의 권한과 어떤 관련이 있습니까? – jamesallman

+0

이 뷰가 Crystal에서 사용할 개체 목록에 나타나지 않는 이유가 여기 있다고 생각했습니다. IFS에서 권한을 위해 ALL이 없기 때문에 IFS를 변경했습니다. – Booksman

+0

일반적으로 사람들이 IFS를 작성할 때 QSYS.LIB 파일 시스템에있는 오브젝트가 아니라 스트림 파일을 의미합니다. 그렇기 때문에 James는 IFS가 무엇을해야하는지 묻습니다. 스트림 파일 시스템에서는보기를 만들 수 없습니다. –

답변

1

GRANT 문을 사용하여 SQL 권한을 제어하십시오. 뷰가 일반 파일 초과하는 경우

당신은 또한 해당 개체에 대한 권한을 수정하는 명령 GRTOBJAUT, EDTOBJAUTRVKOBJAUT를 사용 할 수 있습니다.

+0

GRTOBJAUT OBJ (ASTCCDTA/BEMPLOCM) OBJTYPE (* ALL) USER (* PUBLIC) AUT (* ALL)가 더 필요합니까? 여전히 나타나지 않습니다. – Booksman

+0

여기서 라이브러리 ASTCCDTA에서 BEMPLOCM에 대한 권한을 부여합니다. 질문에서, 라이브러리 MKLIB에 BEMPLOCM 뷰를 생성했습니다. –

+0

같은 문제는 내 lib 또는 그 lib. 내가 그것을 충분하게했던 방식으로 교부금인가? – Booksman

1

"크리스털의 테이블과 뷰를 볼 때 라이브러리에 나열되지 않습니다."

보기가 실제로 생각하는 라이브러리에 있는지 확실합니까?

다른 라이브러리에서 생성되었을 수 있습니다. QGPL 라이브러리를 체크인하거나 사용자 프로파일 이름과 일치하는 라이브러리가있는 경우이를 확인하십시오.

+0

lib에있는 def 내가 생각합니다.그것의 'SAP (CR) 측면에 뭔가. – Booksman

0

질문이 '공인 된 개체 이름 ICLOCMLM이 유효하지 않은 이유는 무엇입니까?' 아마도 SQL 이름 지정을 사용 중이며 실행중인 명령문이 * SYSTEM 명명을 사용하고있을 것입니다. FROM ASTDTA/ICLOCMLMFROM ASTDTA.ICLOCMLM으로 변경하고 5016 오류가 사라지는 지 확인하십시오.

+0

지금 문제가 무엇인지 압니다. Crystal는 DDS 작성 테이블 또는 논리 만 인식합니다. 왜냐하면 내가 쿼리를 통해 임시 파일을 만들었 기 때문에 그것을 볼 수는 없지만 복제본을 만든 DDS에 복사했기 때문입니다. – Booksman

+0

그것은 나를 위해 작동합니다. RUNQRY QRY (* NONE) QRYFILE ((MASTERFILE)) OUTTYPE (* OUTFILE) RCDSLT (* YES) OUTFILE (BUCK/BUCKMST * FIRST * NEWFILE) 그러면 Crystal, 보고서 마법사, 내 연결, MYIBMI, MYDBNAME, BUCK, 테이블 . 테이블 목록에서 벅스 (BUCKMST)를 볼 수 있습니다. 그리고 그 안에 기둥이있는 보고서를 만들 수 있습니다. V7.1, 결정 14.0.2.364. –

+0

QTEMP에 '임시 파일'이 있습니까? 시스템에 QTEMP라는 단일 라이브러리가 없으므로; 모든 직업마다 별도의 것이 있습니다. Crystal에서 보는 QTEMP는 대화식 작업에서 볼 수있는 QTEMP와 다릅니다. –