JDBC 활동 생성

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기10분
  • 사용자 지정 JDBC 활동을 생성하여 워크플로우에서 관계형 데이터베이스에 대한 SQL 명령 및 저장 프로시저 호출을 자동화합니다.

    시작하기 전에

    필요한 역할: activity_admin, activity_creator

    이 태스크 정보

    JDBC 활동 템플릿을 사용하면 대상 데이터베이스에서 ANSI SQL 문 또는 저장 프로시저를 실행할 수 있습니다. IN, OUT 및 INOUT 매개 변수가 있는 저장 프로시저에 대한 지원은 에서 사용할 수 있습니다 Yokohama. 이러한 매개변수를 설정하는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오 JDBC 저장 프로시저 매개변수.
    주:
    외부 데이터 소스에서 인스턴스 ServiceNow 로 대량 데이터를 전송하는 경우 임포트 세트 주요 개념을 사용합니다. JDBC 활동을 사용하면 외부 데이터 소스 간에, ServiceNow 그리고 워크플로우 내에서 데이터를 전송할 수 있습니다. 데이터 원본의 대량 가져오기 기능을 대체하기 위한 것이 아닙니다.

    프로시저

    1. JDBC 자격 증명을 만들거나 검증합니다.
      JDBC 자격 증명에는 대상 데이터베이스에 대한 권한과 해당 JDBC 연결에 대한 적절한 구성이 있어야 합니다. JDBC 활동을 작성하려면 먼저 자격 증명을 설정해야 합니다.
    2. JDBC 연결을 생성하거나 확인합니다.
      JDBC 활동을 작성하기 전에 유효한 JDBC 자격 증명 정보가 설정된 JDBC 연결을 구성해야 합니다.
    3. 사용자 지정 활동을 생성합니다.
      이 작업은 템플릿을 사용하여 사용자 지정 활동을 생성합니다.
    4. 일반 속성을 설정하고 입력 변수를 만든 후 JDBC 실행 명령을 구성합니다.
      옵션설명
      JDBC 연결 데이터베이스에 적합한 JDBC 연결을 구성하거나 참조합니다. 선택한 연결은 활동에 다음 정보를 제공합니다.
      • 대상 데이터베이스 정보(서버 및 데이터베이스 이름)
      • 연결 URL
      • 대상 데이터베이스 포트(표준 포트 번호와 다른 경우)
      • 데이터베이스 인스턴스 이름
      자격 증명 JDBC 연결에 사용할 JDBC 자격 증명입니다.
      SQL 문 JDBC 대상 데이터베이스에서 실행할 ANSI SQL을 입력하십시오.
      주:
      저장 프로시저 확인란을 선택하면 이 필드가 숨겨집니다.
      생성한 입력 변수를 매핑 하여 SQL 문을 구성할 수 있습니다. 기본적으로 다음 SQL 문을 실행할 수 있습니다.
      • 선택
      • 삽입
      • 업데이트
      • 삭제
      • 표시
      • 생성
      • 묘사하다
      추가 보안 조치를 위해 MID Server 등록 정보는 이 JDBCOrchestrationProbe가 실행하는 작업을 제어하여 사용되는 SQL 명령을 제한합니다. 이 속성은 데이터베이스 삭제와 같은 잠재적으로 파괴적인 명령으로부터 보호합니다. mid.property.jdbc_operations에는 MID 서버 속성 컨트롤이 포함되어 있습니다.
      주:
      다른 형식의 문을 여러 개 실행할 수 없습니다. 예를 들어, select 문과 update 문을 함께 실행할 수는 없지만 두 개의 insert 문은 실행할 수 있습니다. 그러나 이 활동에서는 여러 select 문을 실행할 수 없습니다.
      최대 행 수 데이터베이스에서 검색할 최대 기록 수입니다. 기본값은 1000입니다.
      최대 페이로드 크기(KB) 데이터베이스에서 검색되는 데이터의 최대 페이로드 크기에 대한 제한을 설정할 수 있습니다. 기본값은 64KB입니다.
      연결 시간 제한 연결이 이루어지기 위해 활동이 대기하는 시간입니다. 이 필드는 데이터 소스에서 자동으로 채워지지만 이 활동에 대해 변경할 수 있습니다.
      쿼리 제한 시간 쿼리 실행 후 데이터가 반환될 때까지 대기하는 경과 시간입니다. 이 필드는 데이터 소스에서 자동으로 채워지지만 이 활동에 대해 변경할 수 있습니다.
      필요한 MID 서버 역량 기능별로 JDBC를 쿼리하는 데 사용할 MID 서버입니다. 기본적으로 시스템은 JDBC 기능이 있는 MID 서버를 선택합니다.
      저장 프로시저 사용 선택하면 프로시저 이름과 매개변수를 입력하여 MySQL, Oracle 또는 SQL Server 데이터베이스에서 저장 프로시저를 실행할 수 있습니다. JDBC 저장 프로시저 매개변수를 참조하십시오.
      주:
      테스트 페이로드의 매개변수 값을 출력 탭의 변수에 자동으로 매핑할 수 있습니다. 자동 매핑 출력 변수의 내용을 참조하십시오.

    다음에 수행할 작업

    활동에 대한 오케스트레이션 JDBC 연결 만들기

    JDBC 연결 [jdbc_connection] 테이블은 사용자 지정 JDBC 오케스트레이션 활동이 다양한 대상 데이터베이스에 연결하는 데 사용하는 정보를 제공합니다.

    시작하기 전에

    인스턴스와 함께 제공되는지 또는 사용자 지정 JAR 파일과 함께 제공되는지 여부에 관계없이 적절한 JAR 파일이 있어야 합니다.
    주:
    ServiceNow 인스턴스는 MySQL, SQLServer 및 Oracle 데이터베이스를 지원하는 현재 릴리스의 일부로 mysql-connector-java-5.1.21.jar, sql-server-jdbc-4.0.jarojdbc6.jar 파일을 제공합니다. Sybase 또는 DB2 Universal과 같은 다른 데이터베이스는 JDBC 연결을 설정하기 전에 인스턴스에 업로드해야 하는 사용자 정의 JAR 파일을 사용해야 합니다.

    필요한 역할: activity_admin, activity_creator

    이 태스크 정보

    JDBC 자격 증명 JDBC 자격 증명 은 활동 디자이너 템플릿에 의해 별도로 검색되며 CyberArk와 같은 외부 자격 증명 스토리지를 지원합니다.

    프로시저

    1. 다음으로 이동 모두 > 오케스트레이션 > 자격 증명 및 연결 > JDBC 연결 을 클릭하고 신규를 클릭합니다.
    2. 테이블의 필드를 사용하여 양식을 작성합니다.
      형식 필드의 데이터베이스 선택에 따라 사용 가능한 필드가 결정됩니다.
      표 1. JDBC 연결 필드
      필드 데이터베이스 형식 설명
      이름 모두 이 JDBC 연결의 고유한 이름. 예를 들어 JDBC MySQLProd를 입력할 수 있습니다.
      쿼리 제한 시간 모두 JDBC 쿼리가 응답 없이 실행될 수 있는 최대 경과 시간입니다.
      연결 시간 제한 모두 대상 데이터베이스에 연결을 시도하는 동안 JDBC 활동이 대기하는 최대 경과 시간입니다.
      애플리케이션 모두 이 테이블의 범위입니다. 기본적으로 JDBC 연결 [jdbc_connection] 테이블은 전역 범위에서 실행됩니다.
      도메인 모두 이 테이블의 도메인입니다. 기본적으로 JDBC 연결 [jdbc_connection] 테이블은 전역 도메인에서 실행됩니다.
      형식 모두 이 연결에 대한 데이터베이스 유형입니다. 기본 선택 항목은 다음과 같습니다.
      • MySQL
      • Oracle
      • SQLServer
      • 없음
      적절한 JDBC 드라이버 JAR 파일을 인스턴스에 업로드하여 Sybase 또는 DB2 Universal 을 선택 목록에 추가할 수 있습니다. 오케스트레이션은 이러한 드라이버가 시스템에 로드될 때 자동으로 인식하여 이 목록에 추가합니다.
      서버 Oracle, MySQL, SQLServer 데이터베이스 서버의 호스트 이름 또는 IP 주소입니다.
      Oracle SID Oracle Oracle 데이터베이스 사이트 식별자입니다. 기본값은 orcl입니다.
      Oracle 포트 Oracle Oracle 데이터베이스에서 사용 중인 포트입니다. 기본값은 1521입니다.
      데이터베이스 이름 내 SQL, SQLServer 데이터베이스의 이름입니다.
      데이터베이스 포트 MySQL, SQLServer 선택한 데이터베이스가 사용 중인 포트입니다.
      인스턴스 이름 SQLServer 선택한 SQLServer의 인스턴스 이름
      연결 URL 모두 MID 서버가 지정된 데이터베이스에 연결하는 데 사용하는 URL입니다. URL은 양식을 저장할 때 자동으로 생성되며 기본 데이터베이스의 경우 읽기 전용입니다.
      주:
      선택한 형식이 기본 데이터베이스 중 하나가 아닌 경우 MID 서버가 연결을 만드는 방법을 알 수 있도록 연결 URL을 수동으로 만들어야 합니다.
      JDBC 드라이버 없음, DB2 유니버설, Sybase 기본 데이터베이스가 아닌 경우 이 연결에 사용할 JDBC 드라이버입니다.
      주:
      Sybase 또는 DB2 유니버설 데이터베이스를 추가하는 경우 이 필드에 드라이버 이름을 입력하고 드라이버 JAR 파일을 인스턴스에 업로드해야 합니다.
      그림 1. Oracle에 대한 JDBC 연결 예
      JDBC 연결 예
    3. 제출을 클릭합니다.

    JDBC 활동 출력 변수 자동 매핑

    활동 디자이너를 ServiceNow 사용하면 JDBC 테스트 페이로드의 매개변수 값을 출력 탭의 변수에 자동으로 매핑할 수 있습니다.

    시작하기 전에

    필요한 역할: 관리자

    프로시저

    1. JDBC 제공자 템플릿 양식에서 입력 탭을 선택합니다.
    2. 테스트 활동을 클릭하여 입력 매개변수를 테스트합니다.
      매개변수와 필드에 실제 값을 추가한 경우 시스템은 지정된 대상에 대해 해당 값을 실행하고 결과 페이로드를 반환합니다. 입력 변수를 필드와 매개변수에 매핑한 경우, 시스템은 해당 변수에 테스트 값을 할당하기 위한 대화 상자를 표시합니다.
    3. 요청 시 테스트 값을 제공하고 확인을 클릭하여 페이로드를 표시합니다.
      전체 페이로드가 응답 양식의 원시 출력 탭에 나타납니다.
      자동 매핑 통제
    4. 이러한 자동 매핑 옵션 중 하나를 선택합니다.
      • 로컬에 자동 매핑: 활동 내에서 사용할 로컬 변수에 값을 직접 매핑합니다.
      • 출력에 자동 매핑: 값을 출력 변수에 직접 매핑하여 워크플로우의 다른 활동에 전달합니다. 출력 변수에 대한 자동 매핑은 각각 쿼리 결과의 열 이름을 포함하는 객체 배열을 생성합니다.

    JDBC 저장 프로시저 매개변수

    Orchestration을 사용하여 MySQL, Oracle DB 및 MS-SQL 데이터베이스에서 저장 프로시저를 실행할 수 있습니다.

    여러 데이터 유형이 지원되지만 다음과 같은 제한 사항이 있습니다.
    • 하나의 결과 집합만 반환됩니다.
    • 저장 프로시저 매개 변수의 입력 및 출력 데이터 형식 순서는 작업 정의와 일치해야 합니다.
    • Binary, Blob, Varbinary 및 LongBinary는 base64로 인코딩되어야 합니다.
    • 날짜, 시간 및 타임스탬프에는 다음과 같은 특정 형식이 있습니다.
      날짜 형식: yyyy-mm-dd
      지원되는 형식은 yyyy-mm-dd입니다.
      시간 형식: hh:mm:ss[.sss]
      hh:mm:ss[.sss]가 지원되는 형식입니다. 정밀도는 밀리초 단위이며 마이크로초 또는 나노초는 처리할 수 없습니다.
      주:
      10:30:5910:30:59.999000은 맞지만 10:30:59. 는 틀렸습니다.
      타임스탬프 형식: yyyy-mm-dd hh:mm:ss[.ffffff]
      YYYY-MM-DD HH:MM:SS[.FFFFFF]가 지원되는 형식입니다. 정밀도는 마이크로초입니다.
    • ResultSet은 데이터베이스 서버에서 돌아오는 첫 번째 결과 세트입니다.
    • MS-SQL은 INOUT 매개변수를 지원하지 않습니다. INOUT 매개변수를 사용하는 경우 활동 템플릿은 INOUT 매개변수를 OUT 매개변수에 투명하게 매핑합니다.
    주:
    레거시 동작과 같은 저장 프로시저 매개 변수의 데이터 형식 유효성 검사를 수행하지 않으려면 glide.stored_proc.data_type.validation을 false로 설정합니다. 자세한 내용은 MID 서버 속성을 참조하십시오.
    표 2. 저장 프로시저 매개 변수
    필드 설명
    모드 저장 프로시저 매개 변수의 유형입니다. 지원되는 매개변수:
    • IN
    • 아웃
    • 입력
    SQL 유형 SQL 데이터 형식입니다. 지원되는 데이터 유형:
    • 배열
    • 비긴트
    • 바이너리
    • 비트
    • 블롭
    • 문자
    • 클로브
    • 날짜
    • 십진법
    • 별개
    • 부동
    • INT
    • 정수
    • JAVA_OBJECT
    • 롱바르바이너리
    • 롱챠르쥬
    • NULL
    • 숫자
    • 기타
    • 레알
    • 참조
    • REF_CURSOR
    • 스몰린트
    • 구조체
    • 시간
    • 타임스탬프
    • 타이닌트
    • 바이진
    • VARCHAR
    이름/값 호스트에 전달할 이름-값 쌍입니다. 이러한 매개변수를 수동으로 생성하거나 입력 변수를 매개변수 필드로 끌어서 놓고 값을 할당할 수 있습니다.
    주:
    모든 데이터베이스 제공자가 JDBC 데이터 유형의 전체 영역을 지원하는 것은 아닙니다. 데이터베이스 참조 설명서를 참조하여 사용자 설치에 지원되는 데이터 유형을 이해하십시오.

    JDBC 활동 템플릿 입력 테스트

    워크플로우 컨텍스트에서 활동을 실행할 필요 없이 개발 중에 사용자 지정 JDBC 활동의 입력 매개변수를 테스트할 수 있습니다.

    시작하기 전에

    입력 변수를 생성하고 실행 명령 양식의 필드에 매핑하거나 이러한 필드에 대한 실제 값을 제공합니다. 필요한 역할: web_service_admin, activity_admin, activity_creator

    이 태스크 정보

    이 테스트는 엔드포인트에 대해 입력 매개변수만 실행하고 전처리 또는 후처리 스크립트는 실행하지 않습니다. 테스트하기 위해 활동을 체크 아웃할 필요는 없습니다.
    주:
    Orchestration이 끝점 또는 호스트에 연결하고 데이터를 반환할 수 있을 만큼 충분한 정보를 제공하면 입력 변수를 테스트할 수 있습니다. 활동 디자이너의 모든 스테이지에서 테스트할 수 있습니다. 일반적으로 명령 실행 단계는 입력을 테스트할 준비가 되는 시점입니다.

    프로시저

    1. JDBC 실행 명령에서 입력 테스트를 클릭합니다.
      입력 소스 변수 목록이 나타납니다. 이러한 변수에 대한 기본값을 추가한 경우 해당 값이 값 대체 열에 나타납니다. 필수 변수는 빨간색 별표로 표시됩니다.
      주:
      MID 서버를 찾을 수 없거나 대상에 연결할 수 없는 경우 테스트가 실패합니다.
      그림 2. JDBC 입력 테스트 값
      JDBC 입력 테스트 값
    2. 다음 컨트롤을 사용하여 변수 목록을 필터링합니다.
      • 모든 입력: 모든 입력 변수를 표시합니다. 이 제어는 기본 뷰입니다.
      • 필수 입력: 필수 변수만 표시합니다.
      • 기본값이 없는 입력: 기본값이 할당되지 않은 입력 변수를 표시합니다.
    3. 필요에 따라 값을 재설정합니다.
      • 기본값 재설정: 값이 있는 경우 이 컨트롤은 이 양식에 설정된 테스트 값을 기본값으로 대체합니다.
      • 값 지우기: 기본값이 있더라도 입력 변수 목록의 모든 값을 지웁니다.
    4. 테스트 값이 올바르게 구성되었으면 확인을 클릭합니다.
      시스템은 지정된 대상에 대해 구성된 모든 입력의 값을 실행하고 결과 페이로드를 반환합니다. 응답 양식의 버튼에는 페이로드의 다양한 뷰가 표시됩니다. 전체 페이로드가 원시 출력 창에 나타납니다.
      그림 3. 입력 테스트의 응답 페이로드
      입력 테스트의 응답 페이로드
    5. 페이로드의 적절한 매개변수 값을 출력 단계의 변수에 자동으로 매핑하려면 자동 매핑 옵션을 선택합니다.
    6. 창의 오른쪽 상단 모서리에 있는 X 를 클릭하여 창을 닫습니다.