다음을 통해 공유


BizTalk Adapter for Oracle Database의 주요 기능

이 섹션에서는 Microsoft BizTalk Adapter for Oracle Database의 새로운 기능과 사용되지 않는 기능을 나열합니다.

기능 의견
Oracle 데이터베이스에 연결하는 새로운 방법 이전 버전의 어댑터에서와 같이 tnsnames.ora 파일에서 net 서비스 이름을 사용하여 Oracle 데이터베이스에 연결하는 것 외에도 어댑터 클라이언트는 연결 매개 변수를 지정하여 Oracle 데이터베이스에 직접 연결할 수 있으므로 net 서비스 이름 또는 tnsnames.ora 파일을 사용할 필요가 없습니다. tnsnames.ora 파일을 Oracle 데이터베이스에 연결할 필요가 없으면 사용자 환경에서 Oracle 서버를 추가하거나 업데이트할 때 모든 클라이언트 컴퓨터의 tnsnames.ora 파일에서 연결 매개 변수(net service name)를 수동으로 업데이트하는 번거로움을 줄일 수 있습니다. 자세한 내용은 Oracle 데이터베이스에 대한 연결 만들기를 참조하세요.
Windows 인증 지원 어댑터 클라이언트는 Windows 인증을 사용하여 Oracle 데이터베이스에 연결할 수 있습니다. Windows 인증을 사용하면 Windows 로그온 자격 증명을 기반으로 사용자의 ID를 확인할 수 있으므로 Windows 환경의 기본 제공 보안을 활용할 수 있습니다. Oracle 데이터베이스 어댑터의 Windows 인증에 대한 자세한 내용은 Windows 인증을 사용하여 Oracle 데이터베이스에 연결을 참조하세요.
기능 의견
삽입 작업에서 인라인 값 지정 지원 삽입 작업 에서 InlineValue 특성을 사용하여 Oracle 데이터베이스의 테이블 또는 뷰에 계산된 값을 삽입할 수 있습니다. 선택적 특성이며 여러 레코드 삽입 작업의 모든 단순 데이터 레코드에 사용할 수 있습니다. 이 특성에 대한 값을 지정하면 지정된 레코드 값이 재정의됩니다. InlineValue 특성에 대한 자세한 내용은 Oracle 테이블 및 뷰에서 삽입, 업데이트, 삭제 및 작업 선택을 참조하세요.
향상된 폴링 이제 Oracle 데이터베이스 어댑터는 저장 프로시저, 함수 또는 패키지 프로시저 또는 함수를 사용하여 Oracle 데이터베이스를 주기적으로 폴링하여 "폴링 기반" 데이터 변경 메시지 수신을 지원합니다. SELECT 문 외에도 이제 저장 프로시저, 함수 또는 패키지 프로시저를 지정하거나 어댑터가 Oracle 데이터베이스를 폴링하기 위해 주기적으로 실행하는 폴링 문으로 함수를 지정할 수 있습니다. 폴링에 대한 자세한 내용은 폴링 기반 데이터 변경 메시지 수신 지원을 참조하세요.
UDT(Oracle User-Defined 형식) 지원 Oracle 데이터베이스 어댑터는 Oracle UDT를 포함하는 Oracle 데이터베이스의 아티팩트에 대한 작업을 수행할 수 있도록 지원합니다. UDT 지원에 대한 자세한 내용은 Oracle 데이터베이스의 Oracle User-Defined 형식 지원을 참조하세요.
복합 작업 지원 Oracle 데이터베이스 어댑터를 사용하면 어댑터 클라이언트가 Oracle 데이터베이스에서 복합 작업을 수행할 수 있습니다. 복합 작업에는 다음과 같은 여러 작업이 순서대로 포함될 수 있습니다.

- 테이블 및 뷰에 대한 작업입니다.
- 어댑터에서 작업으로 표시되는 패키지 내의 저장 프로시저, 함수 및 프로시저 또는 함수입니다.

복합 작업에 대한 자세한 내용은 복합 작업에 대한 메시지 스키마를 참조하세요.
사용자가 소유하지 않은 스키마에서 저장 프로시저 실행 지원 Oracle 데이터베이스 어댑터를 사용하면 사용자가 Oracle의 스키마에 대한 권한이 있는 경우 현재 사용자가 스키마의 소유자가 아니더라도 스키마에서 저장 프로시저를 실행할 수 있습니다. 그러나 저장 프로시저에서 RECORD 형식을 사용하는 경우 저장 프로시저와 동일한 스키마에 정의되어야 합니다. Oracle 데이터베이스 어댑터를 사용하여 저장 프로시저를 실행하는 방법에 대한 자세한 내용은 함수 및 저장 프로시저에 대한 작업을 참조하세요.
데이터베이스 변경 알림 지원 어댑터 클라이언트는 트리거하는 SELECT 문을 기반으로 Oracle 데이터베이스에서 데이터베이스 변경 알림을 받을 수 있습니다. SELECT 문에 대한 결과 집합이 변경되면 Oracle 데이터베이스가 어댑터 클라이언트에 알림을 보냅니다. 데이터베이스 변경 알림에 대한 자세한 내용은 데이터베이스 변경 알림 수신에 대한 고려 사항을 참조하세요.
동의어 지원 어댑터 클라이언트는 테이블, 뷰, 저장 프로시저, 함수 및 패키지에 대해 만든 동의어에 대해 작업을 수행할 수 있습니다. 동의어 및 Oracle 데이터베이스 어댑터를 사용하여 동의어에 대한 작업을 수행하는 방법에 대한 자세한 내용은 Oracle Database의 동의어에 대한 작업을 참조하세요.
부울 매개 변수 및 PL/SQL 테이블 형식 지원 어댑터 클라이언트는 부울 매개 변수 및 PL/SQL 테이블 형식을 포함하는 저장 프로시저 및 함수에서 작업을 수행할 수 있습니다.

기타 기능

기능 의견
BizTalk Server 어댑터를 사용하는 새로운 방법 Oracle 데이터베이스 어댑터는 BizTalk에서 WCF-Custom 포트 또는 WCF-OracleDB 포트로 사용할 수 있습니다. WCF-Custom 포트를 통해 Oracle 데이터베이스 어댑터를 사용하려는 경우 WCF-Custom 포트가 기본적으로 BizTalk Server 관리 콘솔에 추가되므로 BizTalk Server 관리 콘솔에 WCF-Custom 포트를 추가할 필요가 없습니다. 그러나 WCF-OracleDB 포트를 통해 Oracle 데이터베이스 어댑터를 사용하려면 먼저 BizTalk Server 관리 콘솔에 WCF-OracleDB 어댑터를 추가해야 합니다. 자세한 내용은 BizTalk Server 관리 콘솔에 Oracle 데이터베이스 어댑터 추가를 참조하세요.

Oracle 어댑터에서 사용되지 않는 기능

다음 표에서는 현재 버전의 Oracle 데이터베이스 어댑터에서 더 이상 사용되지 않는 기능을 나열합니다.

기능 의견
바인딩 속성 PollingRetryCount, TransactionIsolationLevelLongDataTypeColumnSize 바인딩 속성은 더 이상 사용되지 않습니다.

참고 인바운드 작업에 대한 트랜잭션 격리 수준을 설정하려면 수신 포트를 구성하는 동안 서비스 동작을 추가하여 적절한 값을 설정해야 합니다. 트랜잭션 격리 수준을 설정하는 방법에 대한 지침은 트랜잭션 격리 수준 및 트랜잭션 시간 제한 구성을 참조하세요.

참고할 변경 내용

일반

  • IN OUT REF CURSOR 형식의 매개 변수

    • 저장 프로시저 내에서 REF CURSOR 값이 변경되지 않은 경우 출력 값은 입력 REF CURSOR의 값과 동일합니다.

    • REF CURSOR의 입력 및 출력 데이터는 동일한 형식입니다.

  • "nil" 특성의 잘못된 동작: 모든 단순 데이터 형식의 경우 nil 특성의 값을 "true"로 설정하고 필드 또는 매개 변수의 값이 있으면 Oracle 데이터베이스 어댑터가 NULL 대신 지정된 값을 잘못 전달합니다. 해결 방법으로 필드 또는 매개 변수에 대해 NULL 값을 전달하려면 필드 또는 매개 변수에 대한 값이 지정되지 않았는지 확인해야 합니다. 예를 들어 "name"이라는 필드에 NULL 값을 전달하려면 다음을 수행합니다.

    <name xsi:nil="true"/>  
    
  • Select 작업의 결과 집합에 있는 값 끝에 있는 Real, Float 및 Long 데이터 형식 및 추가 0은 잘리지 않습니다. 또한 Select 작업의 결과 집합은 항상 Real, Float 및 Long 데이터 형식에 대해 전체 자릿수가 8인 값을 반환합니다.

  • RECORD 형식에 대한 데이터 처리: 이러한 노드에 전달된 값은 SkipNilNodes 바인딩 속성의 값에 따라 달라집니다. 이 바인딩 속성에 대한 자세한 내용은 Oracle Database에 대한 바인딩 속성 구성을 참조하세요.

  • 아웃바운드 작업: 입력 XML 파일에 지정된 값이 없는 매개 변수에 대해 값이 전송되지 않습니다. 저장 프로시저에 기본값이 지정된 경우 Oracle 데이터베이스는 어댑터에서 값을 보내지 않아 해당 값을 사용합니다. NULL 값을 보내야 하는 경우 사용자는 "nil" 특성 값을 "true"로 설정하여 입력 XML 파일에서 NULL 노드를 지정해야 합니다.

  • 명령 시간 제한이 지원됩니다.

  • UpdateLOB 작업은 트랜잭션의 일부로 수행해야 합니다. 이를 위해 UseAmbientTransaction 바인딩 속성의 값을 True로 설정해야 합니다.

BizTalk 시나리오

  • 아웃바운드 작업: UseAmbientTransaction 바인딩 속성이 "True"인 경우 Oracle 데이터베이스 및 BizTalk MessageBox 데이터베이스에 대한 작업은 동일한 분산 트랜잭션 내에서 수행됩니다. Oracle 데이터베이스 어댑터의 트랜잭션에 대한 자세한 내용은 Oracle 데이터베이스 어댑터를 사용하여 트랜잭션 처리를 참조하세요.

  • 인바운드 작업: Oracle 데이터베이스 어댑터를 사용하여 인바운드 작업에 BizTalk Server Request-Response 수신 포트를 사용할 수 없습니다. One-Way 수신 포트만 사용할 수 있습니다.

기타 시나리오

  • 아웃바운드 작업: 어댑터가 트랜잭션을 시작하지 않습니다. 사용자가 동일한 트랜잭션 내에 여러 행을 삽입하려는 경우 System.Transactions 트랜잭션 범위 내에서 작업을 실행하는 것은 사용자의 책임입니다. 또한 사용자는 UseAmbientTransaction 속성의 값을 True로 설정해야 합니다. Oracle 데이터베이스 어댑터의 트랜잭션에 대한 자세한 내용은 Oracle 데이터베이스 어댑터를 사용하여 트랜잭션 처리를 참조하세요.

  • 아웃바운드 작업: 동일한 IRequestChannel/proxy 개체에서 수행되는 Sll 작업은 Oracle 데이터베이스에 대한 동일한 물리적 연결에서 수행되지 않을 수 있습니다.

  • WCF 채널 모델: Oracle 데이터베이스 어댑터는 WCF 채널 모델을 사용하는 동안 IReplyChannel을 지원하지 않습니다. 그러나 인바운드 작업을 수행하는 데 IInputChannel을 사용할 수 있습니다. 또한 트랜잭션과 관련하여 어댑터는 WCF Dispatcher 시작 트랜잭션을 사용하여 폴링 문을 실행하고 Oracle 데이터베이스에 대해 폴링 문을 게시합니다. ServiceBehavior에서 적절한 값을 설정하여 트랜잭션 격리 수준 및 WCF Dispatcher 시작 트랜잭션의 시간 초과를 제어할 수 있습니다.

참고 항목

Biztalk Adapter for Oracle Database 이해