라이브러리(IBM i)

Library (IBM i)

IBM i의 라이브러리(*LIB)는 다른 개체를 추적하기 위한 시스템 디렉토리로 사용되는 개체입니다.(AS/400 시스템라이브러리의 Program Temporary Fix(PTF; 프로그램임시 수정)도 추적합니다). (사용 가능한 디렉토리는 디렉토리(*DIR) 및 폴더(*FLR) 오브젝트입니다.)

IBM i Objects는 실제로 라이브러리에 저장되지 않습니다.실제로는 네임스페이스에 지나지 않지만, 오브젝트를 라이브러리에 「인」또는 「스토리지」라고 하는 것은 간단합니다.

특정 유형의 객체(데이터베이스 파일, 저장 영역 및 실행 가능한 프로그램 객체)는 동시에 컴파일, 복사 및 다수의 다른 라이브러리에 저장될 수 있으며 라이브러리 목록 계층은 해당 객체 이름을 사용하는 응용 프로그램의 실행 중에 사용할 객체 인스턴스를 결정합니다.오브젝트 이동을 지원하는 Control Language 명령어가 있습니다.또한 라이브러리 목록을 회피하기 위해 컴파일 시 오브젝트가 런타임에 정적으로 다른 오브젝트를 가리키도록 오브젝트를 한정할 수도 있습니다.

0:31

숍 스탠다드

계층형 파일링 시스템을 갖춘 시스템에서는, 통상은 다수의 디렉토리를 가지는 것입니다.이 디렉토리의 대부분은 다른 디렉토리에 1개씩 포함되며, 각 디렉토리에 적당한 수의 파일이 있습니다.AS/400에서는 라이브러리를 다른 라이브러리 내에 저장할 수 없기 때문에, 그리고 역사적으로 라이브러리 목록은 항상 작았기 때문에, 그 반대는 표준이 되었습니다. 즉, 소수의 라이브러리가 각각 다수의 오브젝트를 포함하고 있습니다.라이브러리는 Windows의 폴더와 비슷합니다.AS/400에서 라이브러리는 다른 오브젝트(실행 가능한 오브젝트, 소스 파일 등)를 포함할 수 있는 다른 오브젝트입니다.

라이브러리는 다른 라이브러리를 포함할 수 없습니다.AS/400은 목록으로 구성되어 있으며, 나무와 같은 구조를 가진 Windows와는 반대입니다.

대부분의 자체 개발 애플리케이션에는 1개에서 3개의 라이브러리가 있습니다.프로그램 오브젝트, 소스 오브젝트 및 파일오브젝트가 1개의 라이브러리에 함께 있는 것도 있습니다.데이터량이 많고 백업 윈도우가 작은 상점에서는 일반적으로 데이터베이스 파일을 별도의 데이터 라이브러리로 분할하여 소스 및 프로그램을 다른 라이브러리에 보관합니다.별도의 개발 시스템을 보유한 기업에서는 소스를 자체 라이브러리에 배치하여 더 세분화하는 경향이 있습니다.

일반적으로 운영 체제에서 사용하기 위해 IBM에서 만든 모든 라이브러리는 'Q'로 시작합니다.

IBM 표준 라이브러리:

  • QSYS - 시스템 부모 라이브러리
  • QSYS2 - CPI용 시스템 라이브러리(인치당 문자 수)
  • QHLPSYS - 사용자용 온라인 문서 라이브러리
  • QTCP - TCP 접속 유틸리티
  • QAFP - 고도의 기능 인쇄
  • QGPL - 범용 라이브러리
  • QTEMP - 작업별 임시 라이브러리(작업 종료 시 삭제됨)

AS/400 및 SQL

대부분의 데이터베이스 관리 시스템(DBMS)은 SQL 기반 용어를 사용하여 개체를 설명합니다.AS/400의 용어는 고유하기 때문에 혼동을 일으킬 수 있습니다.실제 또는 인식된 성능상의 이유로 AS/400 프로그래밍을 사용하는 SQL보다 고급 프로그래밍 언어가 선호되어 왔습니다.AS/400에서 SQL 프로그래밍이 보편화됨에 따라 기존 방식과 SQL 기반 방식 모두 선호도나 필요에 따라 개체를 만들고 사용할 수 있게 되었습니다.대부분의 경우 기존 라이브러리 기반 개체는 SQL 개체와 동일하며 최소한 동등한 기능을 제공합니다.예를 들어 라이브러리는 스키마, 물리적 파일은 테이블, 논리적 파일은 보기, 액세스 경로는 색인입니다.

라이브러리 리스트

대부분의 시스템에는 특정 경로가 지정되지 않은 경우 개체를 찾는 방법이 있습니다.AS/400에서도 마찬가지이며 라이브러리 리스트라고 불리는 오브젝트를 사용합니다(*LIBL이 오브젝트는 그 자체로는 존재하지 않으며 항상 작업이나 작업 설명과 같은 다른 오브젝트와 관련지어집니다.*JOBDOS/400 V5R1 에서는, 라이브러리 리스트의 유저 부분에 최대 250 의 라이브러리명을 포함할 수 있습니다.그 이전에는 25개의 라이브러리만 있을 수 있었습니다.(OS/400 V4R5 이하에서는 라이브러리 목록에 25개 이상의 라이브러리가 있는 작업은 복원할 수 없기 때문에 소프트웨어를 판매할 때 유의해야 합니다).

작업의 라이브러리 목록은 다음 4개의 섹션으로 구성됩니다.

  • 시스템 부분:항상 맨 위에 있으며 다음과 같은 시스템 라이브러리가 포함되어 있습니다.QSYS,QHLPSYS,QUSRSYS시스템 부분에는 최대 15개의 라이브러리 이름을 포함할 수 있습니다.시스템 부분의 기본 내용은QSYSLIBL시스템 값시스템 부분의 내용은 현재 작업의 내용과 다를 수 있습니다.QSYSLIBL를 사용하여CHGSYSLIBL 명령어를 입력합니다.
  • 제품 부분:프로덕션 라이브러리를 지정하는 CL 명령이 실행되면 해당 라이브러리는 명령 기간 동안 라이브러리 목록의 product 부분에 추가됩니다.시스템 부분에 이어 OS가 최대 2개의 라이브러리를 유지합니다.
  • 현재 라이브러리:사용자 프로파일과 관련된 특수 라이브러리이며 목록에는 한 번에 하나씩만 포함할 수 있습니다.이 라이브러리는 프로그래머가 사용자 부분의 변경 내용에 관계없이 목록 맨 위에 개인 라이브러리를 두는 데 유용합니다.를 사용하여 로컬로 변경할 수 있습니다.CHGCURLIB명령어를 입력합니다.이후 모든 작업에서 사용자를 위해 변경하려면CHGUSRPRF명령어를 입력합니다.
  • 사용자 부분:모든 응용 프로그램 라이브러리를 포함하는 라이브러리 목록의 마지막 부분.목록은 일반적으로 작업 설명에서 작업에 할당되지만 배치 작업의 경우 이 목록을 덮어쓸 수 있습니다.SBMJOB명령어INLLIBL파라미터를 지정합니다.작업의 라이브러리 목록을 로컬로 변경할 수 있습니다.EDTLIBL(라이브러리 목록 편집),CHGLIBL(라이브러리 목록 변경),ADDLIBLE(라이브러리 목록 항목 추가), 및RMVLIBLE(라이브러리 목록 항목 제거) 명령어.

위에서 설명한 바와 같이 모든 작업에 대한 라이브러리 목록의 사용자 부분을 작업 설명에 저장할 수 있으므로 작업이 시작될 때 지정된 목록을 사용할 수 있습니다.일부 작업 설명은 특수 값을 지정합니다.*SYSVAL즉, 라이브러리 목록을 시스템 값에서 찾을 수 있습니다.QUSRLIBLIBM i는 프로그래머가 작업 설명 또는 라이브러리 목록 시스템 값 중 하나에 있는 라이브러리를 삭제할 수 있도록 합니다. 단, 라이브러리를 잠그는 작업이 없습니다.그러나 현재 오염된 목록을 사용하는 향후 작업은 모두 시작되지 않습니다.

외부 링크