您的位置:首页 > 数据库 > Oracle

如何将SQL Server数据导入到Oracle数据库中

2017-02-28 16:50 218 查看
在我们使用SQL
Server数据库的过程中,有时需要将SQL
Server数据导出,导入到其他的数据库中,比如导入到Oracle中。

 

  假设要将SQL Server中的Northwind数据库中的Products表导出到Oracle的Scott用户

 

  首先需要有安装SQL Server企业版

 

  1.打开工具:

 

  开始->程序->

 

  导入和SQL Server数据导出数据

 

  2.下一步,选择数据源

 

  [数据源]选择“用于SQL
Server的Microsoft OLE DB提供程序”,这应该是缺省值。

 

  [服务器]选择要导出数据的服务器,如果是本机,选择(local)

 

  [数据库]选择要导出的数据所在的库,这里选择Northwind

 

  3.下一步,选择目的

 

  [目的]选择Microsoft
ODBC for Oracle

 

  [DSN]选择用户/系统DSN一项,然后在下拉列表框中找一个已经连接到了Scott用户的DSN名称。

 

  如果下拉列表中没有,点下拉列表框右侧的[新建],出现创建新数据源界面。

 

  接下来选择系统数据源,下一步,在驱动程序列表中选择Microsoft ODBC for Oracle

 

  下一步,完成,出现Microsoft ODBC for Oracle安装界面

 

  [数据源名称]随便输入,比如sss

 

  [说明]可以不填

 

  [用户名称]填入要SQL
Server数据导出到的Oracle用户名称,这里是scott

 

  [服务器]填入要连接到Oracle服务器所使用的服务名,比方说使用sqlplus
scott/tiger@server1可以连接到数据库,那么这里就填入server1。如果本机就是服务器,使用sqlplus
scott/tiger即可连接到数据库,这里空着不填即可。

 

  这样就创建好了一个数据源sss,保证下拉列表框中选择了sss一项。

 

  [用户名]填入SQL
Server数据导出到的Oracle用户名称,这里是scott

 

  [密码]填入SQL
Server数据导出到的Oracle用户使用的密码,这里是tiger

 

  4.下一步,指定表复制或查询

 

  如果要导出的内容是整个表,选择[从源数据库复制表和视图]

 

  如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句

 

  这里选择第一项[从源数据库复制表和视图]

 

  5.下一步,选择源表和视图

 

  点中要导出的表Products一行的复选框,目的、转换两栏就会出现内容。

 

  目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的SQL语句

 

  6.下一步,保存、调度和复制包

 

  选中立即运行

 

  7.下一步,正在完成DTS导入/导出向导

 

  8.完成

 

  提示“成功地将n个表从Microsoft
SQLServer复制到了Oracle”

 

  9.完成,关闭导入导出程序

 

  注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Products表在oracle里查询就应该写成select
* from scott."Products";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。

 

  ---导完数据后执行下面语句,生成把表名修改成大写的操作

 

  select 'ALTER TABLE '||'"'||table_name||'"'||' RENAME TO '|| upper(table_name)||';'
from user_tab_comments;

 

  把生成的文件执行即可把此用户下的所有表名修改成大写。

转http://blog.sina.com.cn/s/blog_7ffb8dd501013xh3.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: