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


sp_setdefaultdatatypemapping (Transact-SQL)

По умолчанию отмечает сопоставление существующего типа данных между MicrosoftSQL 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.