다음을 통해 공유


SQL 어댑터를 사용하여 SQL Server 저장 프로시저 실행

SQL Server Transact-SQL 및 CLR 저장 프로시저는 어댑터 서비스 추가 기능 사용 또는 어댑터 서비스 참조 추가 플러그 인을 사용하는 동안 프로시저 노드에서 SQL Server 위한 Microsoft BizTalk Adapter의 작업으로 표시됩니다. SQL 어댑터에서 노출되는 작업 이름은 SQL Server 저장 프로시저의 이름과 동일합니다. 저장 프로시저의 모든 매개 변수는 해당 작업에 노출됩니다. OUT 매개 변수에는 저장 프로시저의 반환 값이 포함됩니다. 저장 프로시저의 결과 집합은 DataSet의 배열입니다. DataSet에 대한 자세한 내용은 를 참조하세요 https://go.microsoft.com/fwlink/?LinkId=196853. 대상 개체의 스키마 정보는 런타임에 응답 메시지의 일부로 가져옵니다.

그러나 디자인 타임에 대상 개체의 스키마 정보를 가져오려면 어댑터 서비스 추가 기능 사용 또는 어댑터 서비스 참조 추가 플러그 인의 강력한 형식 프로시저 노드에서 프로시저에 대한 스키마를 생성해야 합니다. 프로시 저 및 강력한 형식 프로시저 노드 아래에 동일한 저장 프로시저가 표시됩니다. 저장 프로시저의 반환 값은 DataSet 배열뿐만 아니라 강력한 형식입니다. 스키마 정보는 디자인 타임에 사용할 수 있으므로 이를 사용하여 저장 프로시저의 스키마를 다른 작업에 대한 다른 스키마에 매핑할 수 있습니다. 예를 들어 강력한 형식의 프로시저에 대해 생성된 스키마를 데이터베이스 테이블의 삽입 작업에 대해 생성된 스키마에 매핑할 수 있습니다.

참고

다음과 같은 경우 강력한 형식의 저장 프로시저에 대한 스키마 정보를 디자인 타임에 볼 수 없습니다.

  • 강력한 형식의 저장 프로시저에 대한 입력 매개 변수로 다른 저장 프로시저의 반환 값인 커서를 사용하고 있습니다.
    • 테이블에서 일부 작업을 수행하는 CLR 저장 프로시저입니다.

FOR XML 절을 사용하는 저장 프로시저 지원

SQL 어댑터를 사용하면 FOR XML 절을 사용하여 SELECT 문이 있는 저장 프로시저를 실행할 수도 있습니다. FOR XML 절은 SELECT 문에서 결과를 행 집합 대신 XML로 반환하는 데 사용됩니다. FOR XML 절에 대한 자세한 내용은 를 참조하세요 https://go.microsoft.com/fwlink/?LinkId=131402.

참고

BizTalk Server 사용할 수 있는 "네이티브" SQL 어댑터는 XML을 반환하는 저장 프로시저, 즉 SELECT 문에 FOR XML 절이 있는 저장 프로시저만 지원합니다. FOR XML 절을 사용하여 저장 프로시저를 지원하면 저장 프로시저 정의를 변경하지 않고도 WCF 기반 SQL 어댑터를 사용하여 이러한 저장 프로시저를 실행할 수 있습니다.

임시 테이블을 사용하는 저장 프로시저 지원

SQL 어댑터를 사용하면 해당 정의에 임시 테이블이 포함된 저장 프로시저에 대한 메타데이터를 생성할 수 있습니다. 그러나 이러한 저장 프로시저의 경우 어댑터 서비스 참조 플러그 인 추가 또는 어댑터 서비스 사용 추가 기능을 사용하는 동안 프로시저 노드에서만 저장 프로시저를 선택하여 메타데이터를 생성해야 합니다. 어댑터는 강력한 형식의 프로시저 노드에서 이러한 저장 프로 시저 에 대한 메타데이터 생성을 지원하지 않습니다.

이름이 없거나 이름이 같은 열을 포함하는 결과 집합 지원

다음 표에서는 SQL 어댑터가 저장 프로시저 및 강력한 형식의 저장 프로시저에 대한 결과 집합에서 이름과 이름이 같은 열을 처리하는 방법을 나열합니다.

결과 집합에...가 포함되어 있습니다. 저장 프로시저 저장 프로시저 Strongly-Typed
이름이 없는 열 SQL 어댑터는 다음과 같은 방식으로 열의 이름을 생성합니다. "-"(하이픈)가 없는 열에 대해 고유 ID(GUID)가 생성되고 생성된 GUID가 숫자로 시작될 수 있지만 XML 태그 이름은 사용할 수 없으므로 GUID 문자열에 "C"가 접두사로 추가됩니다. SQL 어댑터는 "UnNamedColumn[column_index]" 열에 대해 다음 이름을 생성합니다. 여기서 column_index '0'에서 시작됩니다.
이름이 같은 열 첫 번째 열이 아닌 열의 이름에는 ""(밑줄) 뒤에 "-"(하이픈)가 없는 임의의 GUID가 추가됩니다. 예: "\[GUID]". SQL 어댑터는 결과 집합에서 이름이 같은 열을 지원하지 않으며 예외를 throw합니다. 중요: 결과 집합의 열 이름에 고유한 이름이 있는지 확인해야 합니다.

참고

일반적으로 저장 프로시저 및 강력한 형식의 저장 프로시저에 대한 결과 집합의 모든 열의 이름을 지정하고 고유한 이름을 지정하는 것이 좋습니다.

조건부 액세스에 대한 자세한 내용은

참고 항목

어댑터를 사용하여 SAP 시스템에 연결