sqlserver转oracle(三) 数据迁移及数据结构处理

写在最前面

sqlserver向oracle导入数据结构,本文主要使用Navicate,在表结构导入完成的情况下,我们依然需要进行一些简单的处理,才能让程序正常运行。

基本配置及上文

1. sqlserver转oracle(一) oracle创建用户
2. sqlserver转oracle(二) Navicate连接oracle
3.再次声明,本文使用NavicatePremium进行sqlserver2008向oracle的数据结构迁移。
4.你需要预先准备好的东西,在前两篇中都可以找到。比如你需要先配置oracle的用户名密码、需要先建好Navicate中的oracle连接等。

Navicate创建sqlserver连接

很显然也很简单,不多说了吧。

数据结构的导入

1.打开sqlserver连接,及要传入oracle的库,右键,选择”数据传输“
2.在对话框的”常规“中选择sqlserver的库名,模式选"dbo".另一侧选择已经建立的oracle的连接,模式选择设置的用户名。
3.在"高级>其他选项"中选择”遇到错误继续“。
4.点击开始。以上过程如下两张图。

oracle默认是不区分大小写的,所以,你输入的东西如果没有被双引号包裹,oracle会转为大写。但Navicate在导入的时候,会把所有的表,字段都区分大小写导入。这就给我们造成了很大的麻烦,你想每个表名还要加双引号去查么?我是不想。

就这个问题而言,我们需要对表明、字段名进行修改。但后期我意识到,字段类型也是需要修改的。

修改表名:
在Navicate中执行如下命令:
select 'alter table "'||table_name||'" rename to '||upper(table_name)||';' from user_tables where table_name<>upper(table_name)
将查询出的结果复制到一个新的查询窗口,执行。
这个过程可能会重复多次,因为一旦遇到与系统有冲突的表名,你最好重命名。