Подтвердить что ты не робот

SQL-запрос многопользовательского файла на AS400

В AS400 в интерактивном SQL в сеансе 5250

select * from myfile

возвращает строки из одного члена, только когда myfile имеет более одного члена.

Как я могу получить строки из определенного члена?

Важно: в конце я хотел бы сделать это над JDBC с jt400, так что действительно хочу, чтобы там было решение.

Спасибо.

4b9b3361

Ответ 1

Вы можете создать псевдоним, используя команду create alias:

CREATE ALIAS myLibrary/myAlias FOR memberLibrary/memberFile(memberName)

Это позволит вам запустить sql против этого элемента, используя псевдоним, как и любой другой файл:

SELECT * FROM myLibrary/myAlias

Просто помните, что псевдоним будет стоять после вашей сессии, они не временные. Поэтому, если вам не понадобится псевдоним, когда вы закончите, либо создайте псевдоним в QTEMP, либо явно удалите псевдоним, как только вы закончите с ним:

DROP ALIAS myLibrary/myAlias

НТН

Ответ 2

Создайте псевдоним SQL для члена и запросите псевдоним, см. эту страницу для примера.

Ответ 3

SQL Alias ​​

OS/400 R430, а затем поддерживаем оператор SQL alias. Создайте псевдоним для каждого члена, к которому необходимо получить доступ, а затем укажите псевдоним из приложения. Псевдоним - это постоянный объект - он должен быть создан только один раз. Элемент, указанный в CREATE ALIAS, не должен существовать при создании ALIAS. Для создания псевдонима можно использовать любой инструмент SQL, например OS/400 или i5/OS interactive SQL (STRSQL) или iSeries Navigator Run SQL Scripts, например:

CREATE ALIAS MYLIB.FILE1MBR1 FOR MYLIB.MYFILE(MBR1) 
CREATE ALIAS MYLIB.FILE1MBR2 FOR MYLIB.MYFILE(MBR2)

http://www-01.ibm.com/support/docview.wss?uid=nas1f1eaeecc0af19cc38625669100569213