今天在使用sql server 2005的数据导出功能做数据库迁移的时候遇到问题:
1. sql server 2005中 varchar类型最大长度是5000,但是在oracle中是4000,所以在迁移过程中会报错。
2. sql server 2005中 varchar或者nvarchar类型不需要指定长度,但是在oracle中没有varchar或者nvarchar,只有varchar2或者nvarchar2而且必须指定长度,不指定会报错。
3. 使用sql server205中的导出数据库功能,varchar(4000)会自动转化为varchar2(4000),但是nvarchar需要手动改为varchar2再做导出。
接上:
导出结束还是报错如下,查了下baidu,说是数据库字符集不同的原因。最后选择另一种方法,把sql server库导出到power design,生成script,然后在oracle执行;导数据也通过script生成sql脚本然后在oracle执行。
- 执行之前 (错误)
消息
警告 0x80202066: 数据流任务: 无法从 OLE DB 访问接口检索列代码页信息。如果该组件支持“DefaultCodePage”属性,将使用来自该属性的代码页。如果当前的字符串代码页值不正确,请更改该属性的值。如果该组件不支持该属性,将使用来自该组件的区域设置 ID 的代码页。
(SQL Server 导入和导出向导)
在power design里面生成script并导入到oracle过程中,下图中红框部分要注意。
1. check model需要