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

如何创建从SQL到Oracle的DBlink

2012-06-20 10:33 453 查看
要创建一个从SQL到Oracle的DBlink,首先需要在该SQL端安装Oracle的客户端(用oracle自己提供的instant client不知道可不可以,没尝试过),安装好客户端以后,可以按照以下的步骤来进行:

1、利用Net Manager创建服务,具体步骤如下图片所示:

打开Oracle安装客户端的时候所装好的Net Manager





输入网络服务名,可以随便输入





选择TCP/IP(Internet协议)





在这里,主机名可以输入IP地址,不过如果IP不确定,且可能会经常变动的话,输入主机的名字也可以;输入完主机名字后,输入oracle的端口号,如下所示:





输入SID:





用oracle的用户名和密码进行测试





如果测试成功,则关闭当前画面,注意要保存哦!





完成这个步骤,会在tnsnames.ora中产生连接所需要的信息,例如服务器IP、SID,端口号等。

2、此时,oracle的信息已经基本上OK了,此时需要做的就是建立DBlink了。具体步骤如下所示:

打开SQL Management Studio,如下所示来建立Link Server:





点击上图中的New Linked Server,出现以下画面:





按照上图中的信息输入,其中Linked server可以随便填写,Provider则固定选我图中的OLE DB,Product Name处填入之前在Oracle的Net Manager中输入的名字,Data Source也填入Net Manager中输入的名字。完成后切换到Security页签,如下图所示:





注意在上图中的最下面选择“Be made using this security context”,然后在remote login处输入oracle的用户名,在with password中输入该用户名对应的password,完成后保存即可。

3、上面的设定都已经完成好之后,下面就是验证是否成功了。验证的时候,只要直接写一个sql查询oracle中的资料即可,如下所示:





注意在上图中,from的后面,table的名字要在前面加上linked server的名字,然后后面有两个小点,再然后才是oracle中用户的名字,最后就是表的名字了。其中特别需要注意的时候,用户的名字和表的名字都是要全部大写的。

关于第二步中,在SQL可视化工具中的操作也可以通过以下SQL来进行:

EXEC master.dbo.sp_addlinkedserver @server = N'link_peter_oracle',

@srvproduct = N'peter_oracle', @provider = N'MSDAORA', @datasrc = N'peter_oracle',

@provstr = N'User ID=scott;Password=tiger'

--其中@srvproduct、@datasrc写实例名;@provstr为oracle的用户名和密码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: