Поделиться через


sp_setdefaultdatatypemapping (Transact-SQL)

По умолчанию отмечает сопоставление существующего типа данных между Microsoft SQL Server и системой управления базами данных (СУБД), не являющейся SQL Server. Эта хранимая процедура выполняется на распространителе в любой базе данных.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_setdefaultdatatypemapping [ [ @mapping_id = ] mapping_id ]
    [ , [ @source_dbms = ] 'source_dbms' ]
    [ , [ @source_version = ] 'source_version' ]
    [ , [ @source_type = ] 'source_type' ] 
    [ , [ @source_length_min = ] source_length_min ]
    [ , [ @source_length_max = ] source_length_max ]
    [ , [ @source_precision_min = ] source_precision_min ]
    [ , [ @source_precision_max = ] source_precision_max ]
    [ , [ @source_scale_min = ] source_scale_min ]
    [ , [ @source_scale_max = ] source_scale_max ]
    [ , [ @source_nullable = ] source_nullable ]
    [ , [ @destination_dbms = ] 'destination_dbms' ]
    [ , [ @destination_version = ] 'destination_version' ]
    [ , [ @destination_type = ] 'destination_type' ]
    [ , [ @destination_length = ] destination_length ]
    [ , [ @destination_precision = ] destination_precision ]
    [ , [ @destination_scale = ] destination_scale ]
    [ , [ @destination_nullable = ] source_nullable ]

Аргументы

  • [ @mapping_id= ] mapping_id
    Определяет сопоставление существующего типа данных. Аргумент mapping_id имеет тип int и значение по умолчанию NULL. Если аргумент mapping_id указан, остальные параметры не требуются.
  • [ @source_dbms= ] 'source_dbms'
    Это имя СУБД, с которой сопоставлены типы данных. Аргумент source_dbms имеет тип sysname и может принимать одно из следующих значений.

    Значение Описание

    MSSQLSERVER

    Источник является базой данных SQL Server.

    ORACLE

    Источник является базой данных Oracle.

    NULL (по умолчанию)

    Необходимо указать этот параметр, если аргумент mapping_id имеет значение NULL.

  • [ @source_version= ] 'source_version'
    Номер версии исходной СУБД. Аргумент source_version имеет тип varchar(10) и значение по умолчанию NULL.
  • [ @source_type= ] 'source_type'
    Тип данных в исходной СУБД. Аргумент source_type имеет тип sysname. Необходимо указать этот аргумент, если аргумент mapping_id имеет значение NULL.
  • [ @source_length_min= ] source_length_min
    Минимальная длина типа данных в исходной СУБД. Аргумент source_length_min имеет тип bigint и значение по умолчанию NULL.
  • [ @source_length_max= ] source_length_max
    Максимальная длина типа данных в исходной СУБД. Аргумент source_length_max имеет тип bigint и значение по умолчанию NULL.
  • [ @source_precision_min= ] source_precision_min
    Минимальная точность типа данных в исходной СУБД. Аргумент source_precision_min имеет тип bigint и значение по умолчанию NULL.
  • [ @source_precision_max= ] source_precision_max
    Максимальная точность типа данных в исходной СУБД. Аргумент source_precision_max имеет тип bigint и значение по умолчанию NULL.
  • [ @source_scale_min= ] source_scale_min
    Минимальный масштаб типа данных в исходной СУБД. Аргумент source_scale_min имеет тип int и значение по умолчанию NULL.
  • [ @source_scale_max= ] source_scale_max
    Максимальный масштаб типа данных в исходной СУБД. Аргумент source_scale_max имеет тип int и значение по умолчанию NULL.
  • [ @source_nullable= ] source_nullable
    Если тип данных в исходной СУБД поддерживает значение NULL. Аргумент source_nullable имеет тип bit и значение по умолчанию NULL. Значение 1 указывает на то, что поддерживаются значения NULL.
  • [ @destination_dbms = ] 'destination_dbms'
    Это имя целевой СУБД. Аргумент destination_dbms имеет тип sysname и может принимать одно из следующих значений.

    Значение Описание

    MSSQLSERVER

    Назначением является база данных SQL Server.

    ORACLE

    Назначением является база данных Oracle.

    DB2

    Назначением является база данных IBM DB2.

    SYBASE

    Назначением является база данных Sybase.

    NULL (по умолчанию)

  • [ @destination_version= ] 'destination_version'
    Версия продукта целевой СУБД. Аргумент destination_version имеет тип varchar(10) и значение по умолчанию NULL.
  • [ @destination_type= ] 'destination_type'
    Тип данных, указанный в целевой СУБД. Аргумент destination_type имеет тип sysname и значение по умолчанию NULL.
  • [ @destination_length= ] destination_length
    Длина типа данных в целевой СУБД. Аргумент destination_length имеет тип bigint и значение по умолчанию NULL.
  • [ @destination_precision= ] destination_precision
    Точность типа данных в целевой СУБД. Аргумент destination_precision имеет тип bigint и значение по умолчанию NULL.
  • [ @destination_scale= ] destination_scale
    Масштаб типа данных в целевой СУБД. Аргумент destination_scale имеет тип int и значение по умолчанию NULL.
  • [ @destination_nullable= ] destination_nullable
    Если тип данных в целевой СУБД поддерживает значение NULL. Аргумент destination_nullable имеет тип bit и значение по умолчанию NULL. Значение 1 указывает на то, что поддерживаются значения NULL.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Хранимая процедура sp_setdefaultdatatypemapping используется во всех типах репликации между СУБД SQL Server и СУБД, не являющейся SQL Server.

Сопоставления типов данных по умолчанию применяются ко всем топологиям репликации, включенным в указанную СУБД.

Разрешения

Только члены фиксированной серверной роли sysadmin могут выполнять хранимую процедуру sp_setdefaultdatatypemapping.

См. также

Справочник

sp_getdefaultdatatypemapping (Transact-SQL)
sp_helpdatatypemap (Transact-SQL)

Другие ресурсы

How to: Specify Data Type Mappings for an Oracle Publisher (Replication Transact-SQL Programming)

Справка и поддержка

Получение помощи по SQL Server 2005