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

在我们使用 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
 
  把生成的文件执行即可把此用户下的所有表名修改成大写。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值