SQL Server2005中利用dts将Oracle数据库导入到SQL Server2005

假设oracle安装在另一台IP地址为192.168.1.202的机器上,而你的机器上安装了MS SQL SERVER2005,现在你要将oracle中的一个数据库导入进来。

前提条件:
在本机安装oracle客户端,注意必须是安装版的,使用绿色版不可以。

步骤:
1:选择 开始->oracle->配置和移植工具->Net Manager 就会弹出如下界面



2:选中服务命名,然后点击左上角的加号,进入添加服务向导:



3:输入网络服务名(如ConnectTest),点击下一步,选择默认的TCP/IP(Intenet协议),继续点下一步得到如下界面



4:主机名填写oracle服务器所在电脑的IP地址(这里是192.168.1.202),端口要和服务器匹配,oracle默认端口是1521,再点下一步


这里如何填写可参照说明,我使用的是SID,在服务器中的SID号是ORCL

5:配置完后,继续点下一步,点击测试,看看配置是否正确。第一次一般是会显示无法连接的,那是因为链接使用的是oracle默认的用户名和密码,你必须修改登录名和密码,修改后再次点测试,如果显示如下界面,则表示测试成功



6:现在打开sql server2005的管理工具,在sql server中建个数据库,例如ssminfo,右击数据库选择 所有任务->导入数据 就会弹出一个导入向导,如下:



7:在data source中选择Microsoft OLE DB Provider for Oracle,点击Properties,得到如下界面:

下载(9.41 KB)
2009-9-8 18:01


service name就是你刚才在Net Manager中新建的那个服务名,在这里是ConnectTest。正确填写oracle服务器的登录名和密码。

8:选中allow saving password,然后选择Test Connection,如果成功,界面如下

下载(6.93 KB)
2009-9-8 18:01



9:测试成功后,选择OK,点next,得到如下界面,这里的配置根据自己实际情况填写,我的如下

下载(18.09 KB)
2009-9-8 18:01



10:点击NEXT,根据实际情况选择,我选择的是copy data from one or more tables or views,再NEXT。
然后oracle中的所有表格和视图 会被加载进来,你可以选择需要导入的表格,在表格过多的情况下建议分多次导入,如果全选很容易导致崩溃。



11,基本就是这样了,其他的自己慢慢摸索吧。

补充说明:

这里说明一下,如果oracle中表的列数据类型没有匹配成功,可以直接点击”编辑”按钮,直接编辑即可

  选择好导入Db对象以后,点击”下一步”或”完成”,就开始导入.一般来说,如果数据比较正常,不是特殊的Oracle数据,都是可以导入的.

  下面说下我操作过程中遇到的问题,希望给大家有所提醒

  1. 导入以后的Db表,可能主键或外键会丢失,需要我们自己去创建主键,自己写sql语法实现就好了.

  2. Oracle中blob或clob类型的数据,在此处是无法导入的,需要我们手工写代码导入.比如表A,我们可以先用上述方法将非blog或clob字段的数据导进来,然后写代码,执行update语句,将字段值写入其中即可

  3. 如果数据格式不符合条件,也不是不可以的,比如日期型字段,oracle中可能这样也会存储0200-9-12,导入时这行数据就会报错,因为不符合日期类型格式,需要调整.

  4. Oracle转换至SqlServer2000或SqlServer2005,所产生的结果是不一样的,这个大家要注意.应该说,2005比2000要更加精确,无论是对数据还是对表结构

  总之,这次导入还是比较顺利的,更重要的是比较简单,比使用第三方工具要方便很多,因此,有些需求的朋友推荐此方法

原文出处:http://www.cnblogs.com/xiyang1011/archive/2010/11/25/1888069.html
TechTarget中国原创内容,原文链接:http://www.searchdatabase.com.cn/showcontent_43143.htm

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值