ESQL에는 데이터베이스에 액세스하기 위한 여러 개의 명령문 및 함수가 포함됩니다.
Compute, Database 및 Filter 노드에서 사용자 데이터베이스에 액세스할 수 있습니다.
주: 이 노드의 데이터베이스 액세스 용량 간에는 차이가 없으며 해당 이름은 부분적으로는 히스토리이고,
부분적으로는 일반적인 사용법을에 따라 정해집니다.
데이터베이스의 데이터를 사용하여 메시지를 갱신 또는 작성하거나,
메시지의 데이터를 사용하여 데이터베이스의 데이터를 갱신 또는 작성할 수 있습니다.
다음 내용에 유의하십시오.
- ESQL 데이터베이스 명령문 또는 함수를 사용하는 노드에는 데이터베이스의 이름(즉, ODBC DSN)으로 설정된
데이터 소스 등록 정보가 있어야 합니다. 데이터베이스는 액세스 가능하고
조작 가능하며 브로커에서 연결할 수 있습니다.
- 동일한 노드에서 액세스한 모든 데이터베이스에는 한 노드의 데이터 소스 등록 정보에서
지정한 데이터베이스와 동일한 OBDC 기능이 있어야 합니다. 이러한 요구사항은 데이터베이스가 동일한 유형(예: DB2 또는 Oracle), 동일한 레벨(예: 릴리스 8.1 CSD3) 및 동일한 플랫폼인 경우
항상 충족됩니다. 기타 데이터베이스 결합은 동일한
OBDC 기능을 가질 수도 있고 갖지 않을 수도 있습니다. 노드가 노드의 데이터 소스 등록 정보에 지정한
데이터베이스와 동일한 OBDC 기능을 갖지 않는 데이터베이스에 액세스하려고 시도하는 경우,
브로커는 오류 메시지를 발행합니다.
- 단일 SELECT FROM 절에서 참조된 모든 테이블은 동일한 데이터베이스에 있어야 합니다.
적당한 ODBC 데이터 소스가 브로커가 실행 중인
시스템에서 작성되어 있는지 확인해야 합니다. 특정 데이터베이스에 대한 사용자 ID 및 암호를 설정하도록
mqsisetdbparms
명령을 사용한 경우, 브로커는 이러한 값을 사용하여 데이터베이스에 연결합니다. 사용자 ID 및 암호를 설정하지 않은 경우 브로커는
mqsicreatebroker 명령에서
제공한(후속 mqsichangebroker 명령에서 수정함) 디폴트
데이터베이스 사용자 ID와 암호를 사용합니다.
z/OS에서
사용자 정의 데이터 세트 <hlq>.SBIPPROC에서 JCL 구성원 BIPSDBP를 사용하여
mqsisetdbparms 명령을 수행하십시오.
데이터베이스 사용자 ID가 플로우에 필요한 조작을
수행할 수 있는 충분한 권한을 가지고 있는지도 확인해야 합니다. 그렇지 않으면 런타임에서 오류가 발생합니다.
데이터베이스 오류시 예외 전달 등록 정보
선택란 및 경고를 오류로 처리 등록 정보 선택란을 선택하고
트랜잭션 등록 정보를
자동으로 설정하여 최대의 유연성을 제공하십시오. 다음으로 트랜잭션 제어를 위해서는 COMMIT 및 ROLLBACK 문을 사용하고, 오류를 처리하기
위해서는 핸들러를 작성할 수 있습니다.