이 주제는 다음 절을 포함합니다.
지정된 ODBC 데이터 소스의 데이터베이스와 상호작용하려면 DataInsert 노드를 사용하십시오. DataInsert 노드는 Database 노드의 특수화된 형식으로, 상호작용은 데이터베이스 내의 테이블에 하나 이상의 행을 삽입하는 것으로 제한됩니다. 필수 조치를 정의하기 위해 몇 가지 방법으로 입력 메시지의 데이터를 사용하는 맵핑 명령문을 정의하여 삽입 내용을 정의합니다.
데이터베이스를 즉시 확약할지, 갱신이 확약된 메시지 플로우가 완료될 때까지 지연시킬지 또는 메시지 플로우의 전반적인 완료 상태에 따라 롤백할 것인지를 제어하는 등록 정보를 설정할 수 있습니다.
DataInsert 노드는 Workbench에서 다음 아이콘으로 표시됩니다.
회사에서 새 제품을 개발하는 경로를 고려해 봅시다. 엔지니어링 부서에서 제품에 대한 자세한 내용을 송신하면 메시지에서 자세한 내용을 추출한 다음 이를 재고 데이터베이스의 새 행에 추가해야 합니다.
DataInsert 노드 인스턴스를 메시지 플로우에 넣었으면 이 노드를 구성할 수 있습니다. 편집기 보기에서 이 노드를 마우스 오른쪽 단추로 누른 후 등록 정보를 누르십시오. 노드의 기본 등록 정보가 표시됩니다.
값을 입력해야 하는 모든 필수 등록 정보(정의된 디폴트 값이 없는 등록 정보)는 등록 정보 대화 상자에서 별표(*)로 표시됩니다.
다음과 같이 DataInsert 노드를 구성하십시오.
z/OS 시스템에서는 브로커가 브로커 시작 작업 ID나, 사용자 정의 데이터 세트 <hlq>.SBIPPROC에서 mqsisetdbparms 명령 JCL, BIPSDBP에 지정한 사용자 ID 및 암호를 사용합니다.
이 입력 필드 옆의 찾아보기를 누르면 이 노드에서 액세스할 수 있는 사용 가능한 모든 맵핑 루틴을 나열하는 대화 상자가 표시됩니다. 원하는 루틴을 선택한 후 확인을 누르십시오. 루틴 이름은 명령문에서 설정합니다.
이 노드와 연관된 맵핑 루틴에 대해 작업하려면 노드를 마우스 오른쪽 단추로 누르고 맵핑 열기를 누르십시오. 맵핑 루틴이 존재하지 않을 경우, 디폴트 파일의 디폴트 이름이 작성됩니다. 파일이 이미 존재할 경우, 네비게이터 보기에서 <flow_name>_<node_name>.mfmap 파일을 열 수도 있습니다.
맵핑 루틴은 연관되는 노드 유형에 고유합니다. DataDelete 노드용으로 개발한 맵핑 루틴을 맵핑을 사용하는 다른 노드(예: DataInsert 노드)와 함께 사용할 수 없습니다. 맵핑 루틴을 작성하는 경우 ESQL 루틴에서 맵핑 루틴을 호출할 수 있지만 다른 맵핑 루틴에서는 이를 호출할 수 없습니다.
상자를 선택하면, 노드는 데이터베이스에서 리턴된 모든 양의 리턴 코드를 오류로 핸들링하고 음의 리턴 코드 또는 그 이상의 심각한 오류에서와 같은 방법으로 예외를 생성합니다.
선택란을 선택하지 않으면, 노드에서는 경고를 정상 리턴 코드로 처리하고 예외를 전달하지 않습니다. 발생하는 경고 중 가장 중요한 것은 없음으로서, 대부분의 환경에서 정상적인 리턴 코드로 안전하게 핸들링될 수 있습니다.
선택란을 지운 경우, 브로커와 데이터베이스의 무결성을 보장하려면 메시지 플로우 내의 오류를 핸들링해야 합니다. 자체 처리를 통해 오류를 핸들링하지 않을 경우, 브로커가 디폴트 오류 핸들링을 호출하도록 선택하지 않았으므로 오류가 무시됩니다. 예를 들면, failure 터미널을 오류 처리 서브루틴에 연결할 수 있습니다.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
다음 표에는 DataInsert 노드 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
In | 노드가 처리할 메시지를 승인하는 입력 터미널. |
Failure | 처리 중에 실패가 감지될 경우 입력 메시지가 전달될 출력 터미널. 경고를 오류로 처리를 선택했으면, 처리가 완료되었더라도 노드는 메시지를 이 터미널로 전달합니다. |
Out | 데이터베이스 명령문 실행 결과 발생하는 메시지를 출력하는 출력 터미널. |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(디폴트가 정의되지 않았을 때 값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 Bar 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 DataInsert 노드 기본 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
데이터 소스 | 아니오 | 예 | 이 등록 정보는 이 노드와 연관된 맵핑에서 참조하는 테이블이 상주하는 데이터베이스의 ODBC 데이터 소스 이름(명령문 등록 정보에 의해 식별됨). | |
명령문 | 예 | 아니오 | DataInsert | 데이터베이스 또는 메시지 트리에 대해 실행되는 명령문을 포함하는 맵핑 루틴의 이름. 이 유형의 노드에 대해 루틴은 고유합니다. |
트랜잭션 | 예 | 아니오 | 자동 | 노드의 트랜잭션 모드. 자동 또는 확약일 수 있습니다. |
경고를 오류로 처리 | 예 | 아니오 | 지우기 | 데이터베이스 SQL 경고를 오류로 처리합니다. 이 선택란을 선택하면 이 조치가 수행됩니다. |
데이터베이스 오류 시 예외 전달 | 예 | 아니오 | 선택 | 데이터베이스 오류가 발생할 때 브로커가 예외를 전달하도록 합니다. 이 선택란을 선택하면 이 조치가 수행됩니다. |
다음 표에는 DataInsert 노드의 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | 노드에 대한 간략한 설명. | |
자세한 설명 | 아니오 | 아니오 | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |