RDS 프로그래밍 모델 세부 정보

다음은 RDS 프로그래밍 모델의 핵심 요소입니다.

  • RDS.DataSpace

  • RDSServer.DataFactory

  • RDS.DataControl

  • 이벤트

Important

Windows 8 및 Windows Server 2012부터 RDS 서버 구성 요소는 더 이상 Windows 운영 체제에 포함되지 않습니다(자세한 내용은 Windows 8 및 Windows Server 2012 호환성 쿡북 참조). RDS 클라이언트 구성 요소는 이후 버전의 Windows에서 제거될 예정입니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. RDS를 사용하는 애플리케이션은 WCF Data Service로 마이그레이션해야 합니다.

RDS.DataSpace

클라이언트 애플리케이션은 호출할 서버 및 서버 프로그램을 지정해야 합니다. 대신, 애플리케이션은 서버 프로그램에 대한 참조를 수신하고 참조를 서버 프로그램 자체인 것처럼 처리할 수 있습니다.

RDS 개체 모델은 RDS.DataSpace 개체를 사용하여 이 기능을 구현합니다.

서버 프로그램은 프로그램 식별자 또는 ProgID로 지정됩니다. 서버는 ProgID 및 서버 컴퓨터의 레지스트리를 사용하여 시작할 실제 프로그램에 대한 정보를 찾습니다.

RDS는 서버 프로그램이 인터넷이나 인트라넷을 통해 원격 서버에 있는지, 서버가 로컬 영역 네트워크에 있는지, 아니면 서버에는 전혀 없고 로컬 DLL(동적 연결 라이브러리)에 있는지 여부에 따라 내부적으로 구분합니다. 이러한 구분은 클라이언트와 서버 간에 정보를 교환하는 방식을 결정하고 클라이언트 애플리케이션에 반환되는 참조 형식에 실질적인 차이를 만듭니다. 그러나, 사용자의 관점에서 이러한 구별은 특별한 의미가 없습니다. 중요한 것은 사용 가능한 프로그램 참조를 받는 것입니다.

RDSServer.DataFactory

RDS는 데이터 원본에 대해 SQL 쿼리를 수행하고 Recordset 개체를 반환하거나 Recordset 개체를 가져와 데이터 원본을 업데이트할 수 있는 기본 서버 프로그램을 제공합니다.

RDS 개체 모델은 RDSServer.DataFactory 개체를 사용하여 이 기능을 구현합니다.

또한 이 개체에는 프로그래밍 방식으로 채울 수 있는 빈 Recordset 개체(CreateRecordset)를 만드는 메서드와 Recordset 개체를 텍스트 문자열로 변환하여 웹 페이지(ConvertToString)를 빌드하는 다른 메서드가 있습니다.

ADO를 사용하면 연결, 명령, 보안 매개 변수가 포함된 사용자 지정 파일 및 DataFactory 처리기를 사용하여 RDSServer.DataFactory의 표준 연결 및 명령 동작 중 일부를 재정의할 수 있습니다.

서버 프로그램을 비즈니스 개체라고도 합니다. 복잡한 데이터 액세스, 유효성 검사 등을 수행할 수 있는 사용자 지정 비즈니스 개체를 작성할 수 있습니다. 사용자 지정 비즈니스 개체를 작성하는 경우에도 RDSServer.DataFactory 개체의 인스턴스를 만들고 일부 메서드를 사용하여 고유한 작업을 수행할 수 있습니다.

RDS.DataControl

RDS는 RDS.DataSpaceRDSServer.DataFactory의 기능을 결합하는 방법을 제공하며 시각적 개체 컨트롤이 데이터 원본의 쿼리에서 반환된 Recordset 개체를 쉽게 사용할 수 있습니다. RDS는 가장 일반적인 경우 서버에 있는 정보에 자동으로 액세스하여 가능한 한 많은 작업을 수행한 후 이를 시각적 개체 컨트롤로 표시하려고 시도합니다.

RDS 개체 모델은 RDS.DataControl 개체를 사용하여 이 기능을 구현합니다.

RDS.DataControl에는 두 가지 측면이 있습니다. 한 가지 측면은 데이터 원본과 관련이 있습니다. RDS의 ConnectSQL 속성을 사용하여 명령 및 연결 정보를 설정하는 경우 RDS.DataControlRDS.DataSpace를 자동으로 사용하여 기본 RDSServer.DataFactory 개체에 대한 참조를 만듭니다. 그런 다음, RDSServer.DataFactoryConnect 속성 값을 사용하여 데이터 원본에 연결하고, SQL 속성 값을 사용하여 데이터 원본에서 Recordset를 가져온 다음, Recordset 개체를 RDS.DataControl에 반환합니다.

두 번째 측면은 시각적 개체 컨트롤에서 반환된 레코드 집합 정보의 표시와 관련이 있습니다. 시각적 개체 컨트롤을 RDS.DataControl과 연결하고(바인딩이라는 프로세스에서) 연결된 Recordset 개체에 있는 정보에 액세스하여 Microsoft Internet Explorer의 웹 페이지에 쿼리 결과를 표시 수 있습니다. 각 RDS.DataControl 개체는 단일 쿼리의 결과를 나타내는 하나의 Recordset 개체를 하나 이상의 시각적 개체 컨트롤(예: 텍스트 상자, 콤보 상자, 그리드 컨트롤 등)에 바인딩합니다. 각 페이지에는 둘 이상의 RDS.DataControl 개체가 있을 수 있습니다. 각 RDS.DataControl 개체는 다른 데이터 원본에 연결될 수 있으며 별도의 쿼리 결과를 포함할 수 있습니다.

RDS.DataControl 개체에는 연결된 Recordset 개체의 행을 탐색, 정렬 및 필터링하는 자체 메서드도 있습니다. 이러한 메서드는 비슷하기는 하지만 ADO Recordset 개체의 메서드와는 같지는 않습니다.

이벤트

RDS는 ADO 이벤트 모델과 독립적인 두 개의 자체 이벤트를 지원합니다. onReadyStateChange 이벤트는 RDS.DataControl ReadyState 속성이 변경될 때마다 호출되므로 비동기 작업이 완료, 종료 또는 오류가 발생한 경우 사용자에게 알립니다. 비동기 작업 중에 오류가 발생하더라도 오류가 발생할 때마다 onError 이벤트가 호출됩니다.

참고 항목

Microsoft Internet Explorer는 RDS에 두 개의 추가 이벤트를 제공합니다. 즉, 레코드 집합이 작동하지만 여전히 행을 검색하고 있음을 나타내는 onDataSetChanged레코드 집합이 행 검색을 완료했음을 나타내는 onDataSetComplete입니다.

참고 항목

개체에서 RDS 프로그래밍 모델
DataControl 개체(RDS)
DataFactory 개체(RDSServer)
DataSpace 개체(RDS)
RDS 시나리오
RDS 자습서
RDS 사용량 및 보안