如何创建从SQL到Oracle的DBlink

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

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

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

如何创建从SQL到Oracle的DBlink_第1张图片

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

如何创建从SQL到Oracle的DBlink_第2张图片

选择TCP/IP(Internet协议)

如何创建从SQL到Oracle的DBlink_第3张图片

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

如何创建从SQL到Oracle的DBlink_第4张图片

输入SID:

如何创建从SQL到Oracle的DBlink_第5张图片

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

如何创建从SQL到Oracle的DBlink_第6张图片

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

如何创建从SQL到Oracle的DBlink_第7张图片

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

 

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

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

如何创建从SQL到Oracle的DBlink_第8张图片

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

如何创建从SQL到Oracle的DBlink_第9张图片

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

如何创建从SQL到Oracle的DBlink_第10张图片

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

 

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

如何创建从SQL到Oracle的DBlink_第11张图片

注意在上图中,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的用户名和密码

你可能感兴趣的:(SQL,SERVER,oracle,sql,manager,server,security,internet)