sp_getdefaultdatatypemapping (Transact-SQL)
返回有关指定的数据类型在 MicrosoftSQL Server 和非 SQL Server 数据库管理系统 (DBMS) 之间的默认映射的信息。 此存储过程在分发服务器的任何数据库中执行。
语法
sp_getdefaultdatatypemapping [ @source_dbms = ] 'source_dbms'
[ , [ @source_version = ] 'source_version' ]
, [ @source_type = ] 'source_type'
[ , [ @source_length = ] source_length ]
[ , [ @source_precision = ] source_precision ]
[ , [ @source_scale = ] source_scale ]
[ , [ @source_nullable = ] source_nullable ]
, [ @destination_dbms = ] 'destination_dbms'
[ , [ @destination_version = ] 'destination_version' ]
[ , [ @destination_type = ] 'destination_type' OUTPUT ]
[ , [ @destination_length = ] destination_length OUTPUT ]
[ , [ @destination_precision = ] destination_precision OUTPUT ]
[ , [ @destination_scale = ] destination_scale OUTPUT ]
[ , [ @destination_nullable = ] source_nullable OUTPUT ]
[ , [ @dataloss = ] dataloss OUTPUT ]
参数
[ @source_dbms= ] 'source_dbms'
从中映射数据类型的 DBMS 的名称。source_dbms 的数据类型为 sysname,可以是以下值之一:值
说明
MSSQLSERVER
源为 SQL Server 数据库。
ORACLE
源为 Oracle 数据库。
必须指定此参数。
[ @source_version= ] 'source_version'
源 DBMS 的版本号。source_version 的数据类型为 varchar(10),默认值为 NULL。[ @source_type= ] 'source_type'
源 DBMS 中的数据类型。source_type 的数据类型为 sysname,无默认值。[ @source_length= ] source_length
源 DBMS 中的数据类型的长度。source_length 的数据类型为 bigint,默认值为 NULL。[ @source_precision= ] source_precision
源 DBMS 中的数据类型的精度。source_precision 的数据类型为 bigint,默认值为 NULL。[ @source_scale= ] source_scale
源 DBMS 中的数据类型的小数位数。source_scale 的数据类型为 int,默认值为 NULL。[ @source_nullable= ] source_nullable
源 DBMS 中的数据类型是否支持 NULL 值。source_nullable 的数据类型为 bit,默认值为 1,表示支持 NULL 值。[ @destination_dbms = ] 'destination_dbms'
目标 DBMS 的名称。destination_dbms 的数据类型为 sysname,可以是以下值之一:值
说明
MSSQLSERVER
目标为 SQL Server 数据库。
ORACLE
目标为 Oracle 数据库。
DB2
目标为 IBM DB2 数据库。
SYBASE
目标为 Sybase 数据库。
必须指定此参数。
[ @destination_version= ] 'destination_version'
目标 DBMS 的产品版本。destination_version 的数据类型为 varchar(10),默认值为 NULL。[ @destination_type= ] 'destination_type' OUTPUT
目标 DBMS 中所列出的数据类型。destination_type 的数据类型为 sysname,默认值为 NULL。[ @destination_length= ] destination_length OUTPUT
目标 DBMS 中数据类型的长度。destination_length 的数据类型为 bigint,默认值为 NULL。[ @destination_precision= ] destination_precision OUTPUT
目标 DBMS 中数据类型的精度。destination_precision 的数据类型为 bigint,默认值为 NULL。[ @destination_scale= ] destination_scaleOUTPUT
目标 DBMS 中数据类型的小数位数。destination_scale 的数据类型为 int,默认值为 NULL。[ @destination_nullable= ] destination_nullableOUTPUT
表示目标 DBMS 中的数据类型是否支持 NULL 值。destination_nullable 的数据类型为 bit,默认值为 NULL。 1 意味着支持 NULL 值。[ @dataloss= ] datalossOUTPUT
映射是否有数据丢失的可能。dataloss 的数据类型为 bit,默认值为 NULL。 1 表示有数据丢失的可能。
返回代码值
0(成功)或 1(失败)
注释
sp_getdefaultdatatypemapping 在 SQL Server 和非 SQL Server DBMS 之间的所有类型的复制中使用。
sp_getdefaultdatatypemapping 返回与指定的源数据类型最匹配的默认目标数据类型。
权限
只有 sysadmin 固定服务器角色的成员才能执行 sp_getdefaultdatatypemapping。