下面我来介绍下如何通过SQL SERVER 2012来建立Oracle11G的链接服务器。
一,创建链接服务
1, 创建链接服务器之前,一定要确保你的SQL SERVER服务器上有ORACLE的客户端程序或者安装了ORACLE数据库服务器。
下图可以看出我的SQL SERVER服务器上是有ORACLE11G的驱动程序的。
二,通过图形界面建立链接服务器
需要填写的信息:
1, 链接服务器:ORACLE11G,这个是随便写的
2, 服务器类型:选择ORACLEProvider for OLE DB
三,链接服务器安全性配置
1,选择—〉使用此安全上下文建立链接,输入登录ORACLE数据库的用户名和密码
2,点击[确定],出现如下的错误。
四,解决[无法创建链接服务器“ORACLE11G”的 OLE DB 访问接口“OraOLEDB.Oracle”的实例。 (.NetSqlClient Data Provider)]的错误
这个问题一般是由于注册表中缺少相关信息造成的,我们只需要补全这部分信息即可解决。
解决方法如下:
1, 打开“运行”窗口,输入“regedit”,回车。
2, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSQLServer\MSSQL11.MSSQLSERVER\Providers
在Providers下面一般来说是看不到OraOLEDB.Oracle这一项的,于是新建这一项。
在Providers上面右键选择New -> Key,把新增加的项改名为“OraOLEDB.Oracle”
3, 为“OraOLEDB.Oracle”这个键新增一个DWORD Value,把名字改为“AllowInProcess”
4, 为“OraOLEDB.Oracle”这个键新增一个DWORDValue,把名字改为“AllowInProcess”
5, 把“AllowInProcess”的值改为“00000001”
6,改好后的效果如图。修改即刻生效,现在就可以再去访问链接服务器上的Oracle数据库了。
7,但是这个时候我再次做链接服务器的时候,还是出现了上面同样的错误提示如下:
8,百思考不知道原因啊??突然我发现如下:链接服务器—〉访问接口—〉OraOLEDB.Oracle—〉允许进程内没有勾上,但是我想上面的配置4里已经有(为“OraOLEDB.Oracle”这个键新增一个DWORD Value,把名字改为“AllowInProcess”),不知道为什么不起作用?????,那好吧,我只好手动的勾上了。
7, 手动勾上允许进程内
8, 再次测试是否连通
从上面的这个图可以看出,已经链接成功,SQL SERVER2012和ORACLE11G服务器之间的链接服务器已经建立成功。
五,下面我来测试如何在SQL SERVER2012里通过上面建立的链接服务器查询ORACLE11G里的表数据。
1, 在ORACLE数据库里建立一个测试表
2, 我用OPENQUERY来查询ORACLE数据库里的数据如下:
select * from openquery(Oracle11G,'SELECT * FROM TESTLINKED_SERVER')
从上面可以看出,我查询到了我再ORACLE数据库里刚才建立的表和表数据信息。
本文档为【SQL SERVER连接ORACLE】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。