从oracle到Sqlserver数据库的数据迁移(图文详解)

1、安装oracle客户端软件,并配置:
这里写图片描述
1)打开Net Manager,新增服务名:
这里写图片描述
2)选择网络协议:
这里写图片描述
3)填写主机名和端口号:
这里写图片描述
4)填写服务名:
这里写图片描述
5)下一步,进行测试:
这里写图片描述
6)测试结果:
这里写图片描述
2、设置sqlserver:
1)打开企业管理器,选择服务器对象–链接服务器
这里写图片描述
2)右键选择”新建链接服务器”
这里写图片描述
3)常规选项,填写内容。
链接服务器:定义链接名称;
服务器类型–其他数据源,指定程序名称为:Microsoft OLE DB Provider for Oracle;
产品名称:Oracle(可不填);
数据源:orcl(oracle新建的服务名);
访问接口字符串:UID=username;PWD=userpasswd(或MSDAORA);
这里写图片描述
4)选择安全性:
选择使用此安全上下文进行连接,输入用户名,密码。
这里写图片描述
5)连接中可看到表和视图:
这里写图片描述
整个过程基本完成!

也可以使用语句在数据库中简历链接服务器,如下:

EXEC  sp_addlinkedserver
@server='TEST',   --链接服务器别名
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='TEST'  --要访问的的数据库所在的服务器的ip
GO
EXEC sp_addlinkedsrvlogin
'TEST',                  --链接服务器别名
'false',
 NULL,
'***',                     --要访问的数据库的用户            
'***'                    --要访问的数据库,用户的密码
GO

二、数据迁移

这里可以使用一条简单的语句测试当前的数据库是否已经连通:

select * from openquery("TEST",'SELECT name, id FROM joe.titles');

这里“TEST”是之前配置的服务器名称,第二个参数是一个简单的数据库查询语句。

在连通oracle链接服务器之后,执行数据库语句的时候可能还是会经常失败,这时候验证语句的正确性之后可能还会报错。这时候可能出现的问题就是表的完整名称的问题。这里可以按照如下方式确定完整的表名:
这里写图片描述
这里写图片描述
可以将用到的表名改成上图圈出的这个完整的名称再测试。

以下是我的个人公众号,主要作为C/C++语言技术分享使用,该公众号里干货满满,如果您有对此博文的疑问或者java方面的问题也可以添加公众号交流讨论。最后,再次希望您能添加关注,互相交流互相学习共同进步:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/coding13/article/details/78796173