上一篇文章采用的PowerDesigner实现对MSSQL数据库迁移到Oracle,后来博友建议用ESF Database Migration Toolkit进行迁移会更加简单方便,本文就是通过一个实例来讲解;文章后面是从网络上整理所得简单介绍Oracle与MSSQL类型的对照;
1:首先我们MSSQL创建一个数据库,并在里面建一张User的表,表相应字段如下图
2:接着打开ESF Database Migration Toolkit选择我们源数据库的类型还有其它相应的参数信息
3:下一步开始针对目标数据库的设置及其它连接参数
4:选择要迁移的表或视图,这边还可以针对导过去内容进行一些设置(Custom Select)
5:然后点"Submit" 提交
6:迁移结束后如下图
7:接着通过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 NUMBERbinary LONG RAW NOT NULLbit NUMBER (1, 0)char VARCHAR2 (900) NOT NULLdatetime DATEdecimal NUMBER (255, 3) NOT NULLfloat FLOAT NOT NULLimage LONG RAWint NUMBER (255, 3) NOT NULLmoney NUMBER (255, 3) NOT NULLnchar VARCHAR2 (2000) NOT NULLntext LONGnumeric NUMBER (255, 3) NOT NULLnvarchar VARCHAR2 (2000) NOT NULLreal FLOAT NOT NULLsmallint NUMBER (255, 3) NOT NULLsmalldatetime DATE NOT NULLsmallmoney NUMBER (255, 3) NOT NULLsql_variant LONGsysname CHAR(255)text LONGtimestamp RAW (255)tinyint NUMBER (255, 3) NOT NULL