BizTalk Server 사용하여 SQL Server 강력한 형식의 폴링 기반 데이터 변경 메시지를 받습니다.
SQL Server 강력한 형식의 폴링 메시지를 받도록 SQL 어댑터를 구성할 수 있습니다. 어댑터가 데이터베이스를 폴링하기 위해 실행하는 폴링 문을 지정할 수 있습니다. 폴링 문은 SELECT 문 또는 결과 집합을 반환하는 저장 프로시저일 수 있습니다.
폴링 메시지의 요소를 다른 스키마에 매핑하려는 시나리오에서 강력한 형식의 폴링을 사용해야 합니다. 매핑하려는 스키마는 SQL Server 다른 작업에 사용할 수 있습니다. 예를 들어 폴링 메시지의 특정 요소를 다른 테이블의 삽입 작업에 대한 스키마에 매핑할 수 있습니다. 따라서 폴링 메시지의 값은 삽입 작업의 매개 변수 역할을 합니다. 더 간단한 시나리오에서는 강력한 형식의 폴링 메시지에 대한 스키마를 정보를 저장하는 스키마 파일에 매핑할 수 있습니다.
중요
단일 BizTalk 애플리케이션에서 둘 이상의 폴링 작업을 수행하려면 연결 URI의 일부로 InboundID 연결 속성을 지정하여 고유하게 만들어야 합니다. 고유한 연결 URI를 사용하면 동일한 데이터베이스 또는 데이터베이스에서 동일한 테이블을 폴링하는 여러 수신 포트를 만들 수 있습니다. 자세한 내용은 Biztalk Server를 사용하여 SQL에서 여러 수신 포트에서 폴링 메시지 받기를 참조하세요.
어댑터가 강력한 형식의 폴링을 지원하는 방법에 대한 자세한 내용은 폴링 지원을 참조하세요. 강력한 형식의 폴링에 대한 메시지 스키마에 대한 자세한 내용은 폴링 및 TypedPolling 작업에 대한 메시지 스키마를 참조하세요.
이 항목에서 강력한 형식의 폴링을 보여 주는 방법
이 항목에서는 강력한 형식의 폴링을 사용하여 폴링 메시지를 다른 스키마에 매핑하는 방법을 보여 줍니다. 이 항목에서는 BizTalk 프로젝트를 만들고 TypedPolling 작업에 대한 스키마를 생성하는 방법을 보여줍니다. TypedPolling 작업에 대한 스키마를 생성하기 전에 다음을 수행해야 합니다.
연결 URI의 일부로 InboundID 를 지정해야 합니다.
PollingStatement 바인딩 속성에 대한 폴링 문을 지정해야 합니다.
폴링 문의 일부로 다음 작업을 수행합니다.
Employee 테이블에서 모든 행을 선택합니다.
저장 프로시저(MOVE_EMP_DATA)를 실행하여 Employee 테이블에서 EmployeeHistory 테이블로 모든 레코드를 이동합니다.
저장 프로시저(ADD_EMP_DETAILS)를 실행하여 Employee 테이블에 새 레코드를 추가합니다. 이 절차에서는 직원 이름, 지정 및 급여를 매개 변수로 사용합니다.
이러한 작업을 수행하려면 PollingStatement 바인딩 속성에 대해 다음을 지정해야 합니다.
SELECT * FROM Employee;EXEC MOVE_EMP_DATA;EXEC ADD_EMP_DETAILS John, Tester, 100000
TypedPolling 작업에 대한 스키마를 생성하므로 스키마는 강력한 형식이며 폴링 메시지에 포함될 모든 요소를 포함합니다.
동일한 BizTalk 프로젝트의 일부로 다른 스키마 파일(예: EmployeeDetails.xsd)을 추가합니다. EmployeeDetails.xsd의 스키마는 다음과 유사합니다.
<?xml version="1.0" encoding="utf-16" ?>
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http://Typed_Polling.EmployeeDetails" elementFormDefault="qualified" targetNamespace="http://Typed_Polling.EmployeeDetails" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="EmployeeDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="Employee_Info" type="xs:string" />
<xs:element name="Employee_Profile" type="xs:string" />
<xs:element name="Employee_Performance" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
또한 BizTalk 매퍼를 프로젝트에 추가하여 Employee 테이블(폴링 메시지로 수신됨)의 요소를 EmployeeDetails.xsd 스키마의 요소에 매핑합니다. 맵의 일부로 폴링 메시지의 하나 이상의 요소를 결합하여 EmployeeDetails 스키마의 단일 요소에 매핑합니다. String Concatenate 펑토이드를 사용하여 수행할 수 있습니다.
마지막으로 BizTalk 프로젝트의 일부로 EmployeeDetails.xsd 스키마를 준수하는 파일이 FILE 송신 포트로 삭제됩니다.
SQL 어댑터 바인딩 속성을 사용하여 형식화된 폴링 구성
다음 표에서는 데이터 변경 메시지를 받도록 어댑터를 구성하는 데 사용하는 SQL 어댑터 바인딩 속성을 요약합니다. PollingStatement 바인딩 속성 외에 이 섹션에 나열된 다른 모든 바인딩 속성은 BizTalk Server 관리 콘솔에서 수신 포트를 구성하는 동안 필요합니다. TypedPolling 작업에 대한 스키마를 생성하기 전에 PollingStatement 바인딩 속성을 지정해야 합니다.
참고
형식화된 폴링의 경우 스키마를 생성하는 동안 PollingStatement 입찰 속성을 지정해야 합니다. 필수는 아니지만 스키마를 생성하는 동안 다른 바인딩 속성도 지정하도록 선택할 수 있습니다. 바인딩 속성을 지정하는 경우 어댑터 서비스 사용 추가 기능이 메타데이터 생성의 일부로 생성하는 포트 바인딩 파일에도 바인딩 속성에 대해 지정한 값이 포함됩니다. 나중에 BizTalk Server 관리 콘솔에서 이 바인딩 파일을 가져와 바인딩 속성이 이미 설정된 WCF-custom 또는 WCF-SQL 수신 포트를 만들 수 있습니다. 바인딩 파일을 사용하여 포트를 만드는 방법에 대한 자세한 내용은 SQL 어댑터를 사용하도록 포트 바인딩 파일을 사용하여 물리적 포트 바인딩 구성을 참조하세요.
Binding 속성 | Description |
---|---|
InboundOperationType | 폴링, TypedPolling 또는 알림 인바운드 작업을 수행할지 여부를 지정합니다. 기본값은 폴링입니다. 강력한 형식의 폴링 메시지를 받으려면 이를 TypedPolling으로 설정합니다. |
PolledDataAvailableStatement | 어댑터가 실행되는 SQL 문을 지정하여 폴링에 사용할 수 있는 데이터가 있는지 여부를 확인합니다. SQL 문은 행과 열로 구성된 결과 집합을 반환해야 합니다. 행을 사용할 수 있는 경우에만 PollingStatement 바인딩 속성에 지정된 SQL 문이 실행됩니다. |
PollingIntervalInSeconds | SQL 어댑터가 PolledDataAvailableStatement 바인딩 속성에 지정된 문을 실행하는 간격(초)을 지정합니다. 기본값은 30초입니다. 폴링 간격은 연속 폴링 간의 시간 간격을 결정합니다. 문이 지정된 간격 내에 실행되면 어댑터는 간격의 나머지 시간 동안 기다립니다. |
PollingStatement | SQL Server 데이터베이스 테이블을 폴링할 SQL 문을 지정합니다. 간단한 SELECT 문 또는 폴링 문에 대한 저장 프로시저를 지정할 수 있습니다. 기본값은 null입니다. 폴링을 사용하려면 PollingStatement 에 대한 값을 지정해야 합니다. 폴링 문은 PolledDataAvailableStatement 바인딩 속성에 의해 결정되는 폴링에 사용할 수 있는 데이터가 있는 경우에만 실행됩니다. 세미콜론으로 구분된 SQL 문 수를 지정할 수 있습니다. 중요:TypedPolling의 경우 메타데이터를 생성하기 전에 이 바인딩 속성을 지정해야 합니다. |
PollWhileDataFound | 폴링되는 테이블에서 데이터를 사용할 수 있는 경우 SQL 어댑터가 폴링 간격을 무시하고 PolledDataAvailableStatement 바인딩 속성에 지정된 SQL 문을 지속적으로 실행할지 여부를 지정합니다. 테이블에서 사용할 수 있는 데이터가 없으면 어댑터가 되돌려 지정된 폴링 간격으로 SQL 문을 실행합니다. 기본값은 false입니다. |
이러한 속성에 대한 자세한 설명은 SQL Server 어댑터 바인딩 속성용 BizTalk 어댑터에 대해 읽어보세요. SQL 어댑터를 사용하여 SQL Server 폴링하는 방법에 대한 전체 설명은 자세히 읽어보기.
SQL Server 데이터베이스에서 강력한 형식의 데이터 변경 메시지를 받는 방법
BizTalk Server SQL 어댑터를 사용하여 SQL Server 데이터베이스에서 작업을 수행하려면 빌딩 블록에 설명된 절차 작업을 수행하여 SQL 어댑터를 사용하여 BizTalk 애플리케이션을 개발합니다. 강력한 형식의 데이터 변경 메시지를 받도록 어댑터를 구성하려면 다음 작업을 수행합니다.
BizTalk 프로젝트를 만든 다음 TypedPolling 작업에 대한 스키마를 생성합니다. 스키마를 생성하는 동안 InboundID 연결 속성과 PollingStatement 바인딩 속성을 지정해야 합니다. 예를 들어 인바운드 ID가 지정된 연결 URI는 다음과 유사합니다.
mssql://mysqlserver//mysqldatabase?InboundID=mydatabaseId
SQL Server 데이터베이스에서 메시지를 수신하기 위한 메시지를 BizTalk 프로젝트에 만듭니다.
SQL Server 데이터베이스에서 메시지를 수신하고 폴더에 저장할 오케스트레이션을 만듭니다.
BizTalk 프로젝트에 스키마(예: EmployeeDetails.xsd)를 추가합니다.
BizTalk 매퍼를 추가하여 폴링 메시지의 스키마를 EmployeeDetails.xsd 스키마에 매핑합니다.
BizTalk 프로젝트를 빌드하고 배포합니다.
물리적 송신 및 수신 포트를 만들어 BizTalk 애플리케이션을 구성합니다.
중요
인바운드 폴링 시나리오의 경우 항상 단방향 WCF-Custom 또는 WCF-SQL 수신 포트를 구성해야 합니다. 양방향 WCF-Custom 또는 WCF-SQL 수신 포트는 인바운드 작업에 지원되지 않습니다.
BizTalk 애플리케이션을 시작합니다.
이 항목에서는 이러한 작업을 수행하는 지침을 제공합니다.
이 항목을 기반으로 하는 샘플
이 항목을 기반으로 하는 샘플 TypedPolling은 BizTalk 어댑터 팩과 함께 제공됩니다. 자세한 내용은 SQL 어댑터에 대한 샘플을 참조하세요.
스키마 생성
TypedPolling 작업에 대한 스키마를 생성해야 합니다. 스키마를 생성하는 방법에 대한 자세한 내용은 SQL 어댑터를 사용하여 Visual Studio에서 SQL Server 작업에 대한 메타데이터 검색을 참조하세요. 스키마를 생성할 때 다음 작업을 수행합니다.
연결 URI를 지정하는 동안 InboundID 연결 속성을 지정합니다. 이 항목에서는 InboundID 를 Employee로 지정할 수 있습니다. 연결 URI에 대한 자세한 내용은 SQL Server 연결 URI 만들기를 참조하세요.
PollingStatement 바인딩 속성의 값을 지정합니다. 이 바인딩 속성에 대한 자세한 내용은 SQL Server 어댑터 바인딩 속성용 BizTalk 어댑터에 대해 읽어보세요.
바인딩 속성을 지정하는 방법에 대한 지침은 SQL 어댑터에 대한 바인딩 속성 구성을 참조하세요.
계약 유형을 서비스로 선택합니다 (인바운드 작업).
TypedPolling 작업에 대한 스키마를 생성합니다.
메시지 및 메시지 유형 정의
이전에 생성한 스키마는 오케스트레이션의 메시지에 필요한 "형식"을 설명합니다. 메시지는 일반적으로 변수이며, 이 형식은 해당 스키마에 의해 정의됩니다. 스키마가 생성되면 BizTalk 프로젝트의 오케스트레이션 보기에서 메시지에 연결해야 합니다.
이 항목에서는 SQL Server 데이터베이스에서 메시지를 받을 메시지를 하나 만들어야 합니다.
다음 단계를 수행하여 메시지를 만들고 스키마에 연결합니다.
메시지 만들기 및 스키마에 연결
BizTalk 프로젝트에 오케스트레이션을 추가합니다. 솔루션 탐색기 BizTalk 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 클릭합니다. BizTalk 오케스트레이션의 이름을 입력한 다음 추가를 클릭합니다.
아직 열려 있지 않은 경우 BizTalk 프로젝트의 오케스트레이션 보기 창을 엽니다. 보기를 클릭하고 다른 창을 가리킨 다음 오케스트레이션 보기를 클릭합니다.
오케스트레이션 보기에서 메시지를 마우스 오른쪽 단추로 클릭한 다음 새 메시지를 클릭합니다.
새로 만든 메시지를 마우스 오른쪽 단추로 클릭한 다음 속성 창을 선택합니다.
Message_1속성 창에서 다음을 수행합니다.
사용 항목 원하는 작업 ID PollingMessage를 입력합니다. 메시지 유형 드롭다운 목록에서 스키마를 확장하고 Typed_Polling.TypedPolling_Employee.TypedPolling을 선택합니다. 여기서 Typed_Polling BizTalk 프로젝트의 이름입니다. TypedPolling_EmployeeTypedPolling 작업에 대해 생성된 스키마입니다.
오케스트레이션 설정
SQL Server 데이터베이스에서 폴링 기반 데이터 변경 메시지를 수신하는 데 BizTalk Server 사용할 BizTalk 오케스트레이션을 만들어야 합니다. 이 오케스트레이션에서 어댑터는 지정된 폴링 문에 대한 폴링 메시지를 받습니다. 그런 다음 BizTalk 매퍼는 폴링 메시지 스키마를 EmployeeDetails.xsd 스키마에 매핑합니다. 그러면 매핑된 메시지가 FILE 위치에 저장됩니다. SQL Server 데이터베이스에서 강력한 형식의 폴링 메시지를 수신하기 위한 일반적인 오케스트레이션에는 다음이 포함됩니다.
SQL Server 메시지를 수신하고 각각 FILE 포트로 보낼 셰이프를 수신하고 보냅니다.
SQL Server 메시지를 수신하는 단방향 수신 포트입니다.
중요
인바운드 폴링 시나리오의 경우 항상 단방향 수신 포트를 구성해야 합니다. 양방향 수신 포트는 인바운드 작업에 지원되지 않습니다.
SQL Server 데이터베이스에서 폴더로 폴링 응답을 보내는 단방향 송신 포트입니다.
폴링 메시지의 스키마를 다른 스키마에 매핑하는 BizTalk 매퍼입니다.
샘플 오케스트레이션은 다음과 유사합니다.
에 대한 오케스트레이션
메시지 셰이프 추가
각 메시지 셰이프에 대해 다음 속성을 지정해야 합니다. Shape 열에 나열된 이름은 방금 언급한 오케스트레이션에 표시된 메시지 셰이프의 이름입니다.
도형 | 도형 유형 | 속성 |
---|---|---|
ReceiveMessage | Receive | - 이름을ReceiveMessage로 설정 - 활성화를 True로 설정 |
SaveMessage | Send | - 이름을SaveMessage로 설정 |
포트 추가
각 논리 포트에 대해 다음 속성을 지정해야 합니다. 포트 열에 나열된 이름은 오케스트레이션에 표시된 포트의 이름입니다.
포트 | 속성 |
---|---|
SQLReceivePort | - 식별자를SQLReceivePort로 설정 - 형식을 SQLReceivePortType으로 설정 - 통신 패턴을단방향으로 설정 - 수신할 통신 방향 설정 |
SaveMessagePort | - 식별자를SaveMessagePort로 설정 - Type을 SaveMessagePortType으로 설정 - 통신 패턴을단방향으로 설정 - 통신 방향을전송으로 설정 |
작업 셰이프에 대한 메시지 입력 및 포트에 연결
다음 표에서는 작업 셰이프에 대한 메시지를 지정하고 메시지를 포트에 연결하도록 설정해야 하는 속성 및 해당 값을 지정합니다. Shape 열에 나열된 이름은 앞에서 언급한 오케스트레이션에 표시된 메시지 셰이프의 이름입니다.
도형 | 속성 |
---|---|
ReceiveMessage | 메시지를PollingMessage로 설정 작업을SQLReceivePort.TypedPolling.Request로 설정 |
SaveMessage | 메시지를PollingMessage로 설정 작업을SaveMessagePort.TypedPolling.Request로 설정 |
이러한 속성을 지정하면 메시지 셰이프와 포트가 연결됩니다.
BizTalk 매퍼 추가
폴링 메시지 스키마를 EmployeeDetails.xsd 스키마에 매핑하려면 오케스트레이션에 BizTalk 매퍼를 추가해야 합니다. BizTalk Server 관리 콘솔에서 이 매퍼를 사용하여 폴링 메시지의 스키마를 EmployeeDetails.xsd 스키마에 매핑합니다.
BizTalk 프로젝트에 BizTalk 매퍼를 추가합니다. BizTalk 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 클릭합니다.
새 항목 추가 대화 상자의 왼쪽 창에서 파일 매핑을 선택합니다. 오른쪽 창에서 지도를 선택합니다. 맵의 이름(예:
MapSchema.btm
)을 지정합니다. 추가를 클릭합니다.원본 스키마 창에서 소스 스키마 열기를 클릭합니다.
BizTalk 형식 선택 대화 상자에서 프로젝트 이름을 확장하고 스키마를 확장한 다음 폴링 메시지의 스키마를 선택합니다. 이 항목에서는 Typed_Polling.TypedPolling_Employee를 선택합니다. 확인을 클릭합니다.
원본 스키마에 대한 루트 노드 대화 상자에서 TypedPolling을 선택하고 확인을 클릭합니다.
대상 스키마 창에서 대상 스키마 열기를 클릭합니다.
BizTalk 형식 선택 대화 상자에서 프로젝트 이름을 확장하고 스키마를 확장한 다음 EmployeeDetails에 대한 스키마를 선택합니다. 이 항목에서 Typed_Polling.EmployeeDetails를 선택합니다. 확인을 클릭합니다.
폴링 메시지의 원본 스키마에서 TypedPollingResultSet0 노드 및 후속 노드를 확장하여 폴링 메시지에 반환되는 요소를 확인합니다. 대상 스키마에서 EmployeeDetails 노드를 확장하여 스키마의 다른 요소를 확인합니다. 이 항목의 경우 다음과 같은 방식으로 스키마를 매핑해야 합니다.
원본 스키마의 Employee_ID 및 이름은 대상 스키마의 Employee_Info 매핑되어야 합니다.
원본 스키마의 지정 및 Job_Description 대상 스키마의 Employee_Profile 매핑해야 합니다.
원본 스키마의 등급 및 급여는 대상 스키마의 Employee_Performance 매핑되어야 합니다.
원본 스키마에서 둘 이상의 노드를 결합하고 대상 스키마의 단일 노드에 매핑하려면 String Concatenate 펑토이드를 사용해야 합니다. UI 지침 및 개발자 API 네임스페이스 참조의 세부 정보입니다.
String Concatenate 펑토이드를 사용하려면 다음을 수행합니다.
도구 상자에서 String Concatenate 펑토이드를 끌어 매퍼 그리드에 놓습니다.
원본 스키마의 Employee_ID 및 Name 요소를 펑토이드에 연결합니다.
대상 스키마의 Employee_Info 요소에 펑토이드를 연결합니다.
매핑하려는 모든 요소에 대해 이러한 단계를 반복합니다. 완성된 맵은 다음과 유사합니다.
매핑
맵을 저장합니다.
매퍼를 만든 후 오케스트레이션이 완료됩니다. 이제 BizTalk 솔루션을 빌드하고 BizTalk Server 배포해야 합니다. 자세한 내용은 오케스트레이션 빌드 및 실행을 참조하세요.
BizTalk 애플리케이션 구성
BizTalk 프로젝트를 배포한 후에는 이전에 만든 오케스트레이션이 BizTalk Server 관리 콘솔의 오케스트레이션 창 아래에 나열됩니다. 애플리케이션을 구성하려면 BizTalk Server 관리 콘솔을 사용해야 합니다. 연습은 연습: 기본 BizTalk 애플리케이션 배포를 참조하세요.
애플리케이션 구성에는 다음이 포함됩니다.
애플리케이션에 대한 호스트를 선택합니다.
오케스트레이션에서 만든 포트를 BizTalk Server 관리 콘솔의 실제 포트에 매핑합니다. 이 오케스트레이션의 경우 다음을 수행해야 합니다.
물리적 WCF-Custom 또는 WCF-SQL 단방향 수신 포트를 정의합니다. 이 포트는 포트에 대해 지정한 폴링 문을 사용하여 SQL Server 데이터베이스를 폴링합니다. 포트를 만드는 방법에 대한 자세한 내용은 SQL 어댑터에 대한 물리적 포트 바인딩 수동 구성을 참조하세요. 수신 포트에 대해 다음 바인딩 속성을 지정해야 합니다.
중요
연결 URI의 일부로 InboundID 를 지정해야 합니다. 인바운드 ID는 스키마를 생성하는 동안 지정한 것과 동일해야 합니다.
중요
디자인 타임에 바인딩 속성을 지정한 경우에는 이 단계를 수행할 필요가 없습니다. 이러한 경우 어댑터 서비스 사용 추가 기능에서 만든 바인딩 파일을 가져와 필요한 바인딩 속성이 설정된 WCF 사용자 지정 또는 WCF-SQL 수신 포트를 만들 수 있습니다. 자세한 내용은 SQL 어댑터를 사용하도록 포트 바인딩 파일을 사용하여 물리적 포트 바인딩 구성을 참조하세요.
Binding 속성 값 InboundOperationType 이를 TypedPolling으로 설정해야 합니다. PolledDataAvailableStatement 스키마를 생성하는 동안 지정한 것과 동일한 SQL 문을 지정해야 합니다.
SELECT COUNT(*) FROM Employee
PollingStatement 스키마를 생성하는 동안 지정한 것과 동일한 폴링 문을 제공해야 합니다.
SELECT * FROM Employee;EXEC MOVE_EMP_DATA;EXEC ADD_EMP_DETAILS John, Tester, 100000
다양한 바인딩 속성에 대한 자세한 내용은 SQL Server 어댑터 바인딩 속성에 대한 BizTalk 어댑터에 대한 읽기를 참조하세요.
참고
SQL 어댑터를 사용하여 인바운드 작업을 수행하는 동안 트랜잭션 격리 수준 및 트랜잭션 시간 제한을 구성하는 것이 좋습니다. WCF-Custom 또는 WCF-SQL 수신 포트를 구성하는 동안 서비스 동작을 추가하여 이 작업을 수행할 수 있습니다. 서비스 동작을 추가하는 방법에 대한 지침은 SQL을 사용하여 트랜잭션 격리 수준 및 트랜잭션 시간 제한 구성을 참조하세요.
어댑터가 메시지를 삭제할 FILE 송신 포트를 정의합니다. 또한 이 송신 포트는 오케스트레이션에서 만든 맵을 사용하여 EmployeeDetails.xsd 스키마를 준수하는 메시지에 폴링 메시지를 매핑합니다. 맵을 사용하도록 FILE 송신 포트를 구성하려면 다음 단계를 수행합니다.
FILE 송신 포트를 만듭니다.
송신 포트 속성 대화 상자의 왼쪽 창에서 아웃바운드 맵을 클릭합니다. 오른쪽 창에서 지도 열 아래의 필드를 클릭하고 드롭다운에서 MapSchema를 선택합니다. 확인을 클릭합니다.
에서 아웃바운드 맵 구성
애플리케이션 시작
SQL Server 데이터베이스에서 메시지를 수신하려면 BizTalk 애플리케이션을 시작해야 합니다. BizTalk 애플리케이션 시작에 대한 지침은 오케스트레이션을 시작하는 방법을 참조하세요.
이 단계에서는 다음을 확인합니다.
PollingStatement 바인딩 속성에 지정된 문을 사용하여 SQL Server 데이터베이스를 폴링하는 WCF-Custom 또는 WCF-SQL 단방향 수신 포트가 실행 중입니다.
폴링 메시지를 EmployeeDetails 스키마에 매핑하는 FILE 송신 포트가 실행 중입니다.
작업에 대한 BizTalk 오케스트레이션이 실행 중입니다.
작업 실행
애플리케이션을 실행한 후 동일한 순서로 다음 작업 집합이 수행됩니다.
어댑터는 Employee 테이블에서 PolledDataAvailableStatement 를 실행하고 테이블에 폴링 레코드가 있는지 확인합니다.
어댑터는 폴링 문을 실행합니다. 폴링 문은 SELECT 문과 저장 프로시저로 구성되므로 어댑터는 모든 문을 차례로 실행합니다.
어댑터는 먼저 Employee 테이블의 모든 레코드를 반환하는 SELECT 문을 실행합니다.
그런 다음 어댑터는 Employee 테이블에서 EmployeeHistory 테이블로 모든 데이터를 이동하는 MOVE_EMP_DATA 저장 프로시저를 실행합니다. 이 저장 프로시저는 값을 반환하지 않습니다.
그런 다음 어댑터는 Employee 테이블에 하나의 레코드를 추가하는 ADD_EMP_DETAILS 저장 프로시저를 실행합니다. 이 저장 프로시저는 삽입된 레코드의 직원 ID를 반환합니다.
폴링 문이 실행되고 메시지가 수신되면 폴링 메시지가 FILE 송신 포트로 전송됩니다. 여기서 송신 포트에 구성된 아웃바운드 맵(MapSchema)은 폴링 메시지를 EmployeeDetails 스키마에 매핑하고 메시지를 파일 위치에 삭제합니다. 메시지는 다음과 유사합니다.
<?xml version="1.0" encoding="utf-8" ?> <EmployeeDetails xmlns="http://Typed_Polling.EmployeeDetails"> <Employee_Info>10751John</Employee_Info> <Employee_Profile>TesterManagesTesting</Employee_Profile> <Employee_Performance>100000</EmployeePerformance> </EmployeeDetails>
앞의 응답에서 Employee_Info 요소에는 직원 ID(10751)와 직원 이름(John)의 조합이 포함되어 있음을 알 수 있습니다. 다른 요소에는 오케스트레이션의 일부로 만든 매퍼에 매핑된 조합도 포함되어 있습니다.
참고
SQL 어댑터는 BizTalk Server 관리 콘솔에서 수신 포트를 명시적으로 사용하지 않도록 설정할 때까지 계속 폴링됩니다.
모범 사례
BizTalk 프로젝트를 배포하고 구성한 후에는 구성 설정을 바인딩 파일이라는 XML 파일로 내보낼 수 있습니다. 바인딩 파일을 생성한 후에는 파일에서 구성 설정을 가져올 수 있으므로 송신 포트를 만들고 동일한 오케스트레이션에 대한 포트를 받을 필요가 없습니다. 바인딩 파일에 대한 자세한 내용은 어댑터 바인딩 다시 사용을 참조하세요.