2013-07-10 3 views
0

У меня здесь странный случай. Я создал View в AS/400. Мне нужно, чтобы представление не объединялось логично, потому что мне нужно сделать UNION ALL. Представление создано, и я пошел в IFS и предоставил разрешения ALL. Но когда я открываю Crystal Reports, делаю подключение к iSeries и перехожу в эту библиотеку View, он не отображается, поэтому я не могу использовать.Crystal Reports не подключается к Views из 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)) 

Теперь в Crystal Reports есть также КОМАНДА использовать, чтобы получить данные, то вы можете сделать тот же запрос, но хотя я хочу его на 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, прежде чем у него не было ВСЕ для разрешений, поэтому я изменил его. – Booksman

+0

Обычно, когда люди пишут IFS, они означают файл потока, а не объект в файловой системе QSYS.LIB. Вот почему Джеймс спрашивает, что IFS имеет для чего-то делать. Вы не можете создать представление в файловой системе потока. –

ответ

1

Используйте инструкцию GRANT для управления привилегиями SQL.

Если представление связано с обычными файлами, вам также могут потребоваться команды GRTOBJAUT, EDTOBJAUT и RVKOBJAUT, чтобы изменить авторизацию на этих объектах.

+0

Я сделал это: GRTOBJAUT OBJ (ASTCCDTA/BEMPLOCM) OBJTYPE (* ALL) USER (* PUBLIC) AUT (* ALL) больше необходим? Он по-прежнему не появляется. – Booksman

+0

Здесь вы предоставляете полномочия BEMPLOCM в библиотеке ASTCCDTA. В этом вопросе вы создали представление BEMPLOCM в библиотеке MKLIB. –

+0

его же проблема моя lib или что lib. Предоставляет способ, которым я делал это достаточно? – Booksman

1

«Он не перечисляет его в библиотеке, когда я вижу таблицы и виды в кристалле».

Вы уверены, что мнение действительно находится в библиотеке, которую вы думаете?

Возможно, что оно могло быть создано в другой библиотеке. Попробуйте проверить библиотеку QGPL, или если у вас есть библиотека, соответствующая имени вашего профиля пользователя, проверьте там.

+0

def в lib я думаю.Его «что-то на стороне SAP (CR). – Booksman

0

Если вопрос: «Почему у меня получилось, что присвоенное имя объекта ICLOCMLM недействительно». ответ, вероятно, заключается в том, что вы используете * именование SQL, и оператор, который вы используете, использует * Именование систем. Попробуйте изменить FROM ASTDTA/ICLOCMLM на FROM ASTDTA.ICLOCMLM и посмотреть, не исчезла ли ошибка 5016.

+0

Я знаю, в чем проблема. Crystal распознает только созданные DDS таблицы или логики. Потому что, когда я создал временный файл через Query, он не видит его, но затем я скопировал его в созданный DDS-клон, и он это видит. – Booksman

+0

Это работает для меня. RUNQRY QRY (* NONE) QRYFILE ((MASTERFILE)) OUTTYPE (* OUTFILE) RCDSLT (* YES) OUTFILE (BUCK/BUCKMST * FIRST * NEWFILE) Затем я запускаю Crystal, Report Wizard, My Connections, MYIBMI, MYDBNAME, BUCK, Tables , Я вижу BUCKMST в списке таблиц. И я могу сделать отчет с колонками в нем. V7.1, Crystal 14.0.2.364. –

+0

Является ли ваш «файл temp» в QTEMP? Потому что в системе под QTEMP нет ни одной библиотеки; есть отдельная для каждой работы. QTEMP, который вы видите в Crystal, - это не тот QTEMP, который вы видите в интерактивной работе. –