项目设置(类型映射)(OracleToSQL)

“项目设置”对话框的“类型映射”页面包含一些设置,用来自定义 SSMA 如何将 Oracle 数据类型转换为 SQL Server 数据类型。

“项目设置”和“默认项目设置”对话框中都提供了“类型映射”页面。

  • 要指定用于将来所有 SSMA 项目的设置,请在“工具”菜单上单击“默认项目设置”,从“迁移目标版本”下拉列表中选择需要查看或更改其设置的迁移项目类型,然后单击左侧窗格底部的“类型映射”。

  • 要指定用于当前项目的设置,请在“工具”菜单上单击“项目设置”,然后单击左侧窗格底部的“类型映射”。

要指定当前对象或对象类的设置,请使用主 SSMA 窗口中的“类型映射”选项卡。

选项

下表显示了“类型映射”选项卡选项:

源类型
映射的 Oracle 数据类型。

目标类型
指定的 Oracle 数据类型的目标 SQL Server 数据类型。

请参阅下一部分中的表,以了解默认的 SSMA for Sybase 类型映射。

添加
单击此项可向映射列表添加数据类型。

编辑
单击此项可编辑映射列表中的所选数据类型。

删除
单击此项可从映射列表中删除所选数据类型映射。

重置为默认值
单击此项可将类型映射列表重置为 SSMA 默认值。

默认类型映射

在 SSMA for Oracle 中,可以为参数、列、局部变量和返回值设置自定义类型映射。 参数和返回类型的默认映射几乎完全相同。

默认参数类型和返回值类型映射

下表包含参数和返回值的默认数据类型映射。

Oracle 数据类型 默认 SQL Server 数据类型
bfile varbinary(max)
binary_double float[53]
binary_float float[53]
binary_integer int
blob varbinary(max)
boolean bit
char varchar(max)
char varying varchar(max)
角色 varchar(max)
character varying varchar(max)
clob varchar(max)
date datetime2[0]
dec dec[38][0]
decimal float[53]
双精度 float[53]
float float[53]
int int
整数 int
long varchar(max)
long raw varbinary(max)
long raw[*..8000]* varbinary[*]
long raw[8001..*]* varbinary(max)
national char nvarchar(max)
national char varying nvarchar(max)
national character nvarchar(max)
national character varying** nvarchar(max)
national character varying* nvarchar(max)
nchar nvarchar(max)
nclob nvarchar(max)
数字 float[53]
numeric float[53]
nvarchar2 nvarchar(max)
pls_integer 整数
raw varbinary(max)
real float[53]
rowid uniqueidentifier
signtype smallint
smallint smallint
string varchar(max)
timestamp datetime2
timestamp with local time zone datetimeoffset
timestamp with time zone datetimeoffset
urowid uniqueidentifier
varchar varchar(max)
varchar2 varchar(max)
xmltype xml

* 仅适用于返回值类型映射。

** 仅适用于参数类型映射。

默认列类型映射

下表包含列的默认类型映射。

Oracle 数据类型 默认 SQL Server 数据类型
bfile varbinary(max)
binary_double float[53]
binary_float float[53]
blob varbinary(max)
char char
char varying[*..*] varchar[*]
char[*..*] char[*]
character char
character varying[*..*] varchar[*]
character[*..*] char[*]
clob varchar(max)
date datetime2[0]
dec dec[38][0]
dec[*..*] dec[*][0]
dec[*..*][*..*] dec[*][*]
十进制 decimal[38][0]
decimal[*..*] decimal[*][0]
decimal[*..*][*..*] decimal[*][*]
双精度 float[53]
float float[53]
float[*..53] float[*]
float[54..*] float[53]
int int
整数 int
long varchar(max)
long raw varbinary(max)
long raw[*..8000] varbinary[*]
long raw[8001..*] varbinary(max)
长 varchar varchar(max)
long[*..8000] varchar[*]
long[8001..*] varchar(max)
national char nchar
national char varying[*..*] nvarchar[*]
national char[*..*] nchar[*]
national character nchar
national character varying[*..*] nvarchar[*]
national character[*..*] nchar[*]
nchar nchar
nchar[*] nchar[*]
nclob nvarchar(max)
数字 float[53]
number[*..*] numeric[*]
number[*..*][*..*] numeric[*][*]
数字 numeric
numeric[*..*] numeric[*]
numeric[*..*][*..*] numeric[*][*]
nvarchar2[*..*] nvarchar[*]
raw[*..*] varbinary[*]
real float[53]
rowid uniqueidentifier
smallint smallint
timestamp datetime2
timestamp with local time zone datetimeoffset
timestamp with local time zone[*..*] datetimeoffset[*]
timestamp with time zone datetimeoffset
timestamp with time zone[*..*] datetimeoffset[*]
timestamp[*..*] datetime2[*]
Urowid uniqueidentifier
urowid[*..*] uniqueidentifier
varchar[*..*] varchar[*]
varchar2[*..*] varchar[*]
Xmltype xml

默认局部变量类型映射

下表包含局部变量的默认类型映射。

Oracle 数据类型 默认 SQL Server 数据类型
Bfile varbinary(max)
binary_double float[53]
binary_float float[53]
binary_interger 整数
Blob varbinary(max)
布尔 bit
Char char
char varying[*..8000] varchar[*]
char varying[8001..*] varchar(max)
char[*..8000] char[*]
char[8001..*] varchar(max)
角色 char
character varying[*..8000] varchar[*]
character varying[8001..*] varchar(max)
character[*..8000] char[*]
character[8001..*] varchar(max)
clob varchar(max)
date datetime2[0]
dec dec[38][0]
dec[*..*] dec[*][0]
dec[*..*][*..*] dec[*][*]
decimal decimal[38][0]
decimal[*..*] decimal[*][0]
decimal[*..*][*..*] decimal[*][*]
双精度 float[53]
Float float[53]
float[*..53] float[*]
float[54..*] float[53]
Int int
整数 整数
integer[*..*] numeric[*][0]
Long varchar(max)
long raw varbinary(max)
long raw[*..8000] varbinary[*]
long raw[8001..*] varbinary(max)
national char nchar
national char varying[*..4000] nvarchar[*]
national char varying[4001..*] nvarchar(max)
national char[*..4000] nchar[*]
national char[4001..*] nvarchar(max)
national character nchar
national character[*..4000] nvarchar[*]
national character[4001..*] nvarchar(max)
national character varying [*..4000] nvarchar[*]
national character varying [4001..*] nvarchar(max)
Nchar nchar
nchar[*..4000] nchar[*]
nchar[4001..*] nvarchar(max)
nchar varying [*..4000] nvarchar[*]
nchar varying [4001..*] nvarchar(max)
Nclob nvarchar(max)
数字 float[53]
number[*..*] numeric[*]
number[*..*][*..*] numeric[*][*]
数字 numeric[38][0]
numeric[*..*] numeric[*]
numeric[*..*][*..*] numeric[*][*]
nvarchar2[*..4000] nvarchar[*]
nvarchar2[4001..*] nvarchar(max)
pls_integer int
raw[*..8000] varbinary[*]
raw[8001..*] varbinary(max)
Real float[53]
Rowid uniqueidentifier
Signtype smallint
Smallint smallint
string[*..8000] varchar[*]
string[8001..*] varchar(max)
timestamp datetime2
timestamp with local time zone datetimeoffset
timestamp with time zone datetimeoffset
timestamp with local time zone[*..*] datetimeoffset[*]
timestamp with time zone[*..*] datetimeoffset[*]
timestamp[*..*] datetime2[*]
Urowid uniqueidentifier
urowid[*..*] uniqueidentifier
varchar[*..8000] varchar[*]
varchar[8001..*] varchar(max)
varchar2[*..8000] varchar[*]
varchar2[8001..*] varcha(max)
Xmltype xml

另请参阅

用户界面参考 (OracleToSQL)