MSSQL数据库迁移到Oracle(二)

上一篇文章采用的PowerDesigner实现对MSSQL数据库迁移到Oracle,后来博友建议用ESF Database Migration Toolkit进行迁移会更加简单方便,本文就是通过一个实例来讲解;文章后面是从网络上整理所得简单介绍Oracle与MSSQL类型的对照;

 

1:首先我们MSSQL创建一个数据库,并在里面建一张User的表,表相应字段如下图

MSSQL数据库迁移到Oracle(二)

2:接着打开ESF Database Migration Toolkit选择我们源数据库的类型还有其它相应的参数信息

MSSQL数据库迁移到Oracle(二)

3:下一步开始针对目标数据库的设置及其它连接参数

MSSQL数据库迁移到Oracle(二)

4:选择要迁移的表或视图,这边还可以针对导过去内容进行一些设置(Custom Select)

MSSQL数据库迁移到Oracle(二)

5:然后点"Submit" 提交

MSSQL数据库迁移到Oracle(二)

6:迁移结束后如下图

MSSQL数据库迁移到Oracle(二)

7:接着通过Oracle客户端查看我们迁移的表

MSSQL数据库迁移到Oracle(二)

MSSQL数据库迁移到Oracle(二)

MSSQL数据库迁移到Oracle(二)

 

*因为Oracle是没有像MSSQL自增的字段,用ESF Database Migration Toolkit也会自动帮我们实现了

 

 

Oracle类型



CHAR         固定长度字符串    最大长度2000    bytes            

VARCHAR2     可变长度的字符串    最大长度4000    bytes      可做索引的最大长度749     

NCHAR        根据字符集而定的固定长度字符串    最大长度2000    bytes           

NVARCHAR2    根据字符集而定的可变长度字符串    最大长度4000    bytes           

DATE         日期(日-月-年)    DD-MM-YY(HH-MI-SS)    经过严格测试,无千虫问题     

LONG         超长字符串    最大长度2G(231-1)    足够存储大部头著作     

RAW          固定长度的二进制数据    最大长度2000    bytes      可存放多媒体图象声音等     

LONG         RAW    可变长度的二进制数据    最大长度2G    同上     

BLOB         二进制数据    最大长度4G         

CLOB         字符数据    最大长度4G         

NCLOB        根据字符集而定的字符数据    最大长度4G         

BFILE        存放在数据库外的二进制数据    最大长度4G         

ROWID        数据表中记录的唯一行号    10    bytes    ********.****.****格式,*为0或1     

NROWID       二进制数据表中记录的唯一行号    最大长度4000    bytes     

NUMBER(P,S)  数字类型    P为整数位,S为小数位     

DECIMAL(P,S) 数字类型    P为整数位,S为小数位     

INTEGER      整数类型    小的整数     

FLOAT        浮点数类型    NUMBER(38),双精度     

REAL         实数类型    NUMBER(63),精度更高  
MSSQL类型       Oracle类型



bigint            NUMBER

binary            LONG RAW NOT NULL

bit            NUMBER (1, 0)

char            VARCHAR2 (900) NOT NULL

datetime        DATE

decimal            NUMBER (255, 3) NOT NULL

float            FLOAT NOT NULL

image            LONG RAW

int            NUMBER (255, 3) NOT NULL

money            NUMBER (255, 3) NOT NULL

nchar            VARCHAR2 (2000) NOT NULL

ntext            LONG

numeric            NUMBER (255, 3) NOT NULL

nvarchar        VARCHAR2 (2000) NOT NULL

real            FLOAT NOT NULL

smallint        NUMBER (255, 3) NOT NULL

smalldatetime    DATE NOT NULL

smallmoney    NUMBER (255, 3) NOT NULL

sql_variant    LONG

sysname            CHAR(255)

text            LONG

timestamp    RAW (255)

tinyint            NUMBER (255, 3) NOT NULL

 

 

你可能感兴趣的:(oracle)