Oracle 게시자에 대한 데이터 형식 매핑 지정Specify Data Type Mappings for an Oracle Publisher

이 항목에서는 SQL Server 2017SQL Server 2017 또는 SQL Server Management StudioSQL Server Management Studio 을 사용하여 Transact-SQLTransact-SQL의 Oracle 게시자에 대한 데이터 형식 매핑을 지정하는 방법에 대해 설명합니다.This topic describes how to specify data type mappings for an Oracle Publisher in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Oracle 게시자에 대해 기본 데이터 형식 매핑 집합이 제공되지만 특정 게시에 대해 다른 매핑을 지정해야 할 수 있습니다.Although a set of default data type mappings are provided for Oracle Publishers, it might be necessary to specify different mappings for a given publication.

항목 내용In This Topic

SQL Server Management Studio 사용 Using SQL Server Management Studio

아티클 속성 - <Article> 대화 상자의 데이터 매핑 탭에서 데이터 형식 매핑을 지정합니다.Specify data type mappings on the Data Mapping tab of the Article Properties - <Article> dialog box. 이 옵션은 새 게시 마법사의 아티클 페이지 및 게시 속성 - <게시> 대화 상자에서 사용할 수 있습니다.This is available from the Articles page of the New Publication Wizard and the Publication Properties - <Publication> dialog box. 마법사 사용 및 대화 상자 액세스에 대한 자세한 내용은 Oracle 데이터베이스에서 게시 만들기게시 속성 보기 및 수정을 참조하세요.For more information about using the wizard and accessing the dialog box, see Create a Publication from an Oracle Database and View and Modify Publication Properties.

데이터 형식 매핑을 지정하려면To specify a data type mapping

  1. 새 게시 마법사의 아티클 페이지 또는 게시 속성 - <게시> 대화 상자에서 테이블을 선택하고 아티클 속성을 클릭합니다.On the Articles page of the New Publication Wizard or the Publication Properties - <Publication> dialog box, select a table, and then click Article Properties.

  2. 선택한 테이블 아티클 속성 설정을 클릭합니다.Click Set Properties of Highlighted Table Article.

  3. 아티클 속성 - <Article> 대화 상자의 데이터 매핑 탭에서 구독자 데이터 형식 열의 매핑을 선택합니다.On the Data Mapping tab of the Article Properties - <Article> dialog box, select mappings from the Subscriber Data Type column:

    • 하나의 매핑만 사용할 수 있는 데이터 형식의 경우 속성 표의 열이 읽기 전용입니다.For some data types there is only one possible mapping, in which case the column in the property grid is read-only.

    • 일부 형식의 경우 두 개 이상의 매핑을 선택할 수 있습니다.For some types, there is more than one type that you can select. MicrosoftMicrosoft 는 응용 프로그램에 다른 매핑이 필요 하지 않는 한 기본 매핑을 사용할 것을 권장합니다. recommends that you use the default mapping unless your application requires a different mapping. 자세한 내용은 Data Type Mapping for Oracle Publishers을 참조하세요.For more information, see Data Type Mapping for Oracle Publishers.

  4. 확인을 클릭합니다.Click OK.

Transact-SQL 사용 Using Transact-SQL

복제 저장 프로시저를 사용하여 사용자 지정 데이터 형식 매핑을 프로그래밍 방식으로 지정할 수 있습니다.You can specify custom data type mappings programmatically using replication stored procedures. 또한 MicrosoftMicrosoft SQL ServerSQL ServerSQL ServerSQL Server 이외의 DBMS(데이터베이스 관리 시스템) 사이에 데이터 형식을 매핑할 때 사용되는 기본 매핑을 설정할 수 있습니다.You can also set the default mappings that are used when mapping data types between MicrosoftMicrosoft SQL ServerSQL Server and a non- SQL ServerSQL Server database management system (DBMS). 자세한 내용은 Data Type Mapping for Oracle Publishers을 참조하세요.For more information, see Data Type Mapping for Oracle Publishers.

Oracle 게시에 속한 아티클을 작성할 때 사용자 지정 데이터 형식 매핑을 정의하려면To define custom data type mappings when creating an article belonging to an Oracle publication

  1. Oracle 게시가 아직 없는 경우 만듭니다.If one does not already exist, create an Oracle publication.

  2. 배포자에서 sp_addarticle을 실행합니다.At the Distributor, execute sp_addarticle. @use_default_datatypes에 값 0을 지정합니다.Specify a value of 0 for @use_default_datatypes. 자세한 내용은 Define an Article을 참조하세요.For more information, see Define an Article.

  3. 배포자에서 sp_helparticlecolumns 를 실행하여 게시된 아티클의 열에 대한 기존 매핑을 확인합니다.At the Distributor, execute sp_helparticlecolumns to view the existing mapping for a column in a published article.

  4. 배포자에서 sp_changearticlecolumndatatype을 실행합니다.At the Distributor, execute sp_changearticlecolumndatatype. @publisher에 Oracle 게시자 이름을 지정하고 @publication, @article@column을 지정하여 게시된 열을 정의합니다.Specify the name of the Oracle Publisher for @publisher, as well as @publication, @article, and @column to define the published column. @type에 매핑할 SQL ServerSQL Server 데이터 형식의 이름을 지정하고 해당되는 경우 @length, @precision@scale을 지정합니다.Specify the name of the SQL ServerSQL Server data type to map to for @type, as well as @length, @precision, and @scale, where applicable.

  5. 배포자에서 sp_articleview를 실행합니다.At the Distributor, execute sp_articleview. 이렇게 하면 Oracle 게시에서 스냅숏을 생성하는 데 사용되는 뷰가 만들어집니다.This creates the view used to generate the snapshot from the Oracle publication.

매핑을 데이터 형식에 대한 기본 매핑으로 지정하려면To specify a mapping as the default mapping for a data type

  1. (옵션) 데이터베이스의 배포자에서 sp_getdefaultdatatypemapping을 실행합니다.(Optional) At the Distributor on any database, execute sp_getdefaultdatatypemapping. @source_dbms, @source_type, @destination_dbms, @destination_version 및 원본 DBMS를 식별하는 데 필요한 기타 매개 변수를 지정합니다.Specify @source_dbms, @source_type, @destination_dbms, @destination_version, and any other parameters needed to identify the source DBMS. 대상 DBMS의 현재 매핑된 데이터 형식에 대한 정보는 출력 매개 변수를 사용하여 반환됩니다.Information on the currently mapped data type in the destination DBMS is returned using the output parameters.

  2. (옵션) 데이터베이스의 배포자에서 sp_helpdatatypemap을 실행합니다.(Optional) At the Distributor on any database, execute sp_helpdatatypemap. @source_dbms를 지정하고 결과 집합을 필터링하는 데 필요한 기타 매개 변수를 지정합니다.Specify @source_dbms and any other parameters needed to filter the result set. 결과 집합에서 원하는 매핑에 대한 mapping_id 의 값을 확인합니다.Note the value of mapping_id for the desired mapping in the result set.

  3. 데이터베이스의 배포자에서 sp_setdefaultdatatypemapping을 실행합니다.At the Distributor on any database, execute sp_setdefaultdatatypemapping.

    • 2단계에서 얻은 mapping_id 의 원하는 값을 아는 경우 @mapping_id의 Oracle 게시자에 대한 데이터 형식 매핑을 지정하는 방법에 대해 설명합니다.If you know the desired value of mapping_id obtained in step 2, specify it for @mapping_id.

    • mapping_id를 알 수 없는 경우 @source_dbms, @source_type, @destination_dbms, @destination_type 매개 변수 및 기존 매핑을 식별하는 데 필요한 기타 매개 변수를 지정합니다.If you do not know the mapping_id, specify the parameters @source_dbms, @source_type, @destination_dbms, @destination_type, and any other parameters required to identify an existing mapping.

지정된 Oracle 데이터 형식에 대한 유효한 데이터 형식을 찾으려면To find valid data types for a given Oracle data type

  1. 데이터베이스의 배포자에서 sp_helpdatatypemap을 실행합니다.At the Distributor on any database, execute sp_helpdatatypemap. @source_dbms에 값 ORACLE을 지정하고 결과 집합을 필터링하는 데 필요한 기타 매개 변수를 지정합니다.Specify a value of ORACLE for @source_dbms and any other parameters needed to filter the result set.

예(Transact-SQL) Examples (Transact-SQL)

다음 예에서는 열을 Oracle 데이터 형식 NUMBER로 변경하여 기본 SQL ServerSQL Server 데이터 형식 대신 ssNoVersion숫자 데이터 형식 float의 Oracle 게시자에 대한 데이터 형식 매핑을 지정하는 방법에 대해 설명합니다.This example changes a column with an Oracle data type of NUMBER so it is mapped to SQL ServerSQL Server data type numeric(38,38), instead of the default data type float.

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

다음 쿼리 예에서는 Oracle 9 데이터 형식 CHAR에 대한 기본 및 대체 매핑을 반환합니다.This example query returns the default and alternative mappings for the Oracle 9 data type CHAR.

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

다음 쿼리 예에서는 소수 자릿수 또는 전체 자릿수 없이 지정된 경우 Oracle 9 데이터 형식 NUMBER 에 대한 기본 매핑을 반환합니다.This example query returns the default mappings for the Oracle 9 data type NUMBER when it is specified without a scale or precision.

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

관련 항목:See Also

Data Type Mapping for Oracle Publishers Data Type Mapping for Oracle Publishers
다른 유형의 데이터베이스 복제 Heterogeneous Database Replication
Replication System Stored Procedures Concepts Replication System Stored Procedures Concepts
Oracle 게시자 구성 Configure an Oracle Publisher