다음을 통해 공유


서버에서 클라이언트로 데이터 끌어오기

RDA(Remote Data Access)는 Microsoft SQL Server에서 SQL Server Compact 3.5(SQL Server Compact 3.5) 클라이언트 데이터베이스로 데이터를 끌어올 때 주로 시작됩니다. 서버에서 클라이언트로 데이터를 끌어오면 SQL Server Compact 3.5ssMobileSQL Server Compact 3.5에 의해 해당 끌어오기가 시작됩니다. SQL Server Mobile은 SQL Server 데이터베이스에서 데이터를 추출하여 SQL Server Mobile 데이터베이스의 테이블에 저장합니다.

서버에서 데이터를 끌어오기 위해 응용 프로그램에서 프로그래밍 방식으로 RDA를 구성할 수 있습니다. 두 가지 기술 중 하나를 사용하여 끌어오기 작업을 설정하고 시작하는 경우 다음을 지정해야 합니다.

  • 데이터를 끌어올 데이터베이스
  • 웹 서버 연결 시 필요한 웹 서버 인증
  • 사용할 SQL Server 인증
  • 클라이언트로 복사 및 전파할 테이블
  • 추적 및 오류 테이블 등을 포함한 끌어오기 옵션

추적

응용 프로그램에서는 적절한 추적 옵션을 설정하여 SQL Server Compact 3.5 테이블의 변경 내용을 추적할 수 있습니다. SQL Server Compact 3.5에서는 모든 삽입, 업데이트 및 삭제를 추적합니다.

그런 다음 응용 프로그램에서는 Push 메서드를 호출하여 변경 내용을 원래 SQL Server 테이블로 다시 전파할 수 있습니다.

RDA(Remote Data Access)로 추적된 끌어오기 및 밀어넣기 작업에서는 낙관적 동시성 제어를 사용합니다. SQL Server에서는 끌어온 레코드를 잠그지 않습니다. 응용 프로그램에서 Push를 호출하면 로컬 SQL Server Compact 3.5 데이터베이스의 변경 내용이 SQL Server 데이터베이스에 무조건 적용됩니다. 이로 인해 SQL Server 데이터베이스의 다른 사용자가 변경한 내용이 손실될 수 있습니다.

업데이트하는 레코드가 논리적으로 분할되었고 충돌이 발생할 확률이 희박한 경우 추적 PullPush 메서드를 사용해야 합니다. 예를 들어 추적 PullPush 메서드는 고유한 서비스 호출 목록을 소지한 기술자를 추적하는 현장 서비스 응용 프로그램에 사용될 수 있습니다.

RDA_TRACKOPTION은 SQL Server Compact 3.5에서 끌어온 테이블의 변경 내용을 추적해야 하는지 여부를 지정합니다. Windows Mobile 기반 장치상의 끌어온 테이블을 업데이트한 다음 변경된 레코드를 원래 SQL Server 테이블에 다시 밀어넣으려면 TRACKINGON 또는 TRACKINGON_INDEXES를 지정합니다. TRACKINGON을 지정하면 PRIMARY KEY 제약 조건이 끌어온 테이블에 생성됩니다. TRACKINGON_INDEXES가 지정되면 PRIMARY KEY 제약 조건 및 서버 테이블에 존재하는 추가 인덱스가 끌어온 테이블에 생성됩니다. 두 가지 경우 모두 SQL Server Compact 3.5는 로컬 테이블에서 삽입, 업데이트 또는 삭제된 모든 레코드를 추적합니다.

참고

인덱스는 인덱스를 구성하는 열을 끌어오는 경우에만 생성됩니다. SQL Server Compact 3.5 데이터베이스에는 관련 테이블이 존재할 수도 있고 존재하지 않을 수도 있기 때문에 끌어온 테이블에는 참조 무결성 제약 조건이 생성되지 않습니다. 따라서 응용 프로그램 내에서 코드를 사용하여 참조 무결성 제약 조건을 다시 추가해야 합니다.

응용 프로그램에서 Push 메서드를 호출하면 SQL Server Compact 3.5에서는 변경 내용 추적 정보를 사용하여 로컬 SQL Server Compact 3.5 테이블에서 삽입, 업데이트 및 삭제된 레코드를 찾아 해당 변경 내용을 SQL Server로 다시 전파합니다.

다음 제한 사항은 RDA_TRACKOPTIONTRACKINGON 또는 TRACKINGON_INDEXES로 설정된 경우에 적용됩니다.

SELECT 문에서 업데이트할 수 없는 레코드 집합을 반환하면 오류가 발생합니다.

기본 키는 SELECT 문에 의해 반환된 업데이트가 가능한 레코드 집합에 정의되어야 합니다. SELECT 문은 뷰 또는 저장 프로시저를 참조할 수 있습니다. 그러나 뷰 또는 저장 프로시저는 한 개의 테이블만 참조해야 하며 업데이트가 가능해야 합니다.

TRACKINGON_INDEXES가 지정되면 SQL Server 테이블에 있고 SQLSelectString에 지정된 열과 관련된 인덱스가 LocalTableName에 지정된 SQL Server Compact 3.5 로컬 테이블에 대해 생성됩니다.

참고 항목

관련 자료

방법: RDA 개체를 사용하여 데이터 끌어오기(프로그래밍 방식)

도움말 및 정보

지원 받기(SQL Server Compact 3.5 서비스 팩 1)