Oracle 게시자에 대한 데이터 형식 매핑 지정

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server 2012의 Oracle 게시자에 대한 데이터 형식 매핑을 지정하는 방법에 대해 설명합니다. Oracle 게시자에 대해 기본 데이터 형식 매핑 집합이 제공되지만 특정 게시에 대해 다른 매핑을 지정해야 할 수 있습니다.

항목 내용

  • 다음을 사용하여 Oracle게시자에 대한 데이터 형식 매핑을 지정하려면

    SQL Server Management Studio

    Transact-SQL

SQL Server Management Studio 사용

아티클 속성 - <Article> 대화 상자의 데이터 매핑 탭에서 데이터 형식 매핑을 지정합니다. 새 게시 마법사 또는 게시 속성 - <Publication> 대화 상자의 아티클 페이지에서도 이를 지정할 수 있습니다. 마법사 사용과 대화 상자 액세스에 대한 자세한 내용은 Oracle 데이터베이스에서 게시 만들기게시 속성 보기 및 수정을 참조하십시오.

데이터 형식 매핑을 지정하려면

  1. 새 게시 마법사의 아티클 페이지 또는 게시 속성 - <Publication> 대화 상자에서 테이블을 선택한 다음 아티클 속성을 클릭합니다.

  2. 선택한 테이블 아티클 속성 설정을 클릭합니다.

  3. 아티클 속성 - <Article> 대화 상자의 데이터 매핑 탭에 있는 구독자 데이터 형식 열에서 매핑을 선택합니다.

    • 하나의 매핑만 사용할 수 있는 데이터 형식의 경우 속성 표의 열이 읽기 전용입니다.

    • 일부 형식의 경우 두 개 이상의 매핑을 선택할 수 있습니다. Microsoft는 응용 프로그램에 다른 매핑이 필요하지 않는 한 기본 매핑을 사용할 것을 권장합니다. 자세한 내용은 Oracle 게시자에 대한 데이터 형식 매핑을 참조하십시오.

  4. 확인을 클릭합니다.  

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

Transact-SQL 사용

복제 저장 프로시저를 사용하여 사용자 지정 데이터 형식 매핑을 프로그래밍 방식으로 지정할 수 있습니다. 또한 Microsoft SQL Server와 SQL Server 이외의 DBMS(데이터베이스 관리 시스템) 사이에 데이터 형식을 매핑할 때 사용되는 기본 매핑을 설정할 수 있습니다. 자세한 내용은 Oracle 게시자에 대한 데이터 형식 매핑을 참조하십시오.

Oracle 게시에 속한 아티클을 작성할 때 사용자 지정 데이터 형식 매핑을 정의하려면

  1. Oracle 게시가 아직 없는 경우 만듭니다.

  2. 배포자에서 sp_addarticle을 실행합니다. **@use\_default\_datatypes**에 값 0을 지정합니다. 자세한 내용은 아티클 정의를 참조하십시오.

  3. 배포자에서 sp_helparticlecolumns를 실행하여 게시된 아티클의 열에 대한 기존 매핑을 확인합니다.

  4. 배포자에서 sp_changearticlecolumndatatype을 실행합니다. **@publisher**에 Oracle 게시자의 이름을 지정하고 **@publication**, **@article** 및 **@column**을 지정하여 게시된 열을 정의합니다. **@type**에 매핑할 SQL Server 데이터 형식의 이름을 지정하고 해당되는 경우 **@length**, **@precision** 및 **@scale**을 지정합니다.

  5. 배포자에서 sp_articleview를 실행합니다. 이렇게 하면 Oracle 게시에서 스냅숏을 생성하는 데 사용되는 뷰가 만들어집니다.

매핑을 데이터 형식에 대한 기본 매핑으로 지정하려면

  1. (옵션) 데이터베이스의 배포자에서 sp_getdefaultdatatypemapping을 실행합니다. **@source\_dbms**, **@source\_type**, **@destination\_dbms**, **@destination\_version**을 지정하고 원본 DBMS를 식별하는 데 필요한 기타 매개 변수를 지정합니다. 대상 DBMS의 현재 매핑된 데이터 형식에 대한 정보는 출력 매개 변수를 사용하여 반환됩니다.

  2. (옵션) 데이터베이스의 배포자에서 sp_helpdatatypemap을 실행합니다. **@source\_dbms**를 지정하고 결과 집합을 필터링하는 데 필요한 기타 매개 변수를 지정합니다. 결과 집합에서 원하는 매핑에 대한 mapping_id의 값을 확인합니다.

  3. 데이터베이스의 배포자에서 sp_setdefaultdatatypemapping을 실행합니다.

    • 2단계에서 얻은 mapping_id의 원하는 값을 아는 경우 **@mapping\_id**에 이 값을 지정합니다.

    • mapping_id를 모르는 경우 **@source\_dbms**, **@source\_type**, **@destination\_dbms**, **@destination\_type** 매개 변수 및 기타 기존 매핑을 식별하는 데 필요한 매개 변수를 지정합니다.

지정된 Oracle 데이터 형식에 대한 유효한 데이터 형식을 찾으려면

  • 데이터베이스의 배포자에서 sp_helpdatatypemap을 실행합니다. **@source\_dbms**의 값을 ORACLE로 지정하고 결과 집합을 필터링하는 데 필요한 기타 매개 변수를 지정합니다.

예(Transact-SQL)

다음 예에서는 열을 Oracle 데이터 형식 NUMBER로 변경하여 기본 float 데이터 형식 대신 SQL Server 숫자 데이터 형식 numeric(38,38)에 매핑되도록 합니다.

EXEC sp_changearticlecolumndatatype 
    @publication = 'OraPublication', 
    @publisher = 'OraPublisher', 
    @article = 'OraArticle', 
    @column = 'OraArticleCol', 
    @type = 'numeric', 
    @scale = 38, 
    @precision = 38;
GO

다음 쿼리 예에서는 Oracle 9 데이터 형식 CHAR에 대한 기본 및 대체 매핑을 반환합니다.

EXEC sp_helpdatatypemap 
    @source_dbms = N'ORACLE', 
    @source_version = 9,
    @source_type = N'CHAR';
GO

다음 쿼리 예에서는 소수 자릿수 또는 전체 자릿수 없이 지정된 경우 Oracle 9 데이터 형식 NUMBER에 대한 기본 매핑을 반환합니다.

EXEC sp_helpdatatypemap 
    @source_dbms = N'ORACLE', 
    @source_version = 9,
    @source_type = N'NUMBER',
    @defaults_only = 1;
GO

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

참고 항목

개념

Oracle 게시자에 대한 데이터 형식 매핑

다른 유형의 데이터베이스 복제

복제 시스템 저장 프로시저 개념

Oracle 게시자 구성