SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建

SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建


  • sqlserver -> sqlserver

右键Linked Servers --> 新建,在弹出如下对话框中,在General 选项卡 输入Linked Server名字或IP,Server Type选择SQL Server。

SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建_第1张图片

或者Server Type选择Other data source,则data source填写需要连接的db的ip及port。

SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建_第2张图片

然后选择Security选项卡

SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建_第3张图片

选择Be made using the login's current security context选项

然后选择Server Options选项卡

SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建_第4张图片

将其中RPC和RPC Out选项置为True,点击确定即可建立成功。

 

  • SQLSERVER --> ORACLE

这里与sqlserver --> sqlserver不同,

同样,右键新建,这里server type选择 other data source,在provider选项里选择Oracle Proider for OLE DB(可能有的童鞋发现Provide里面没有这一项提供选择,这是因为没有装oracle client的原因,装好之后就会显示出来),然后再Product name、Data source、Provider string输入你配置的服务器名(装好oracle client后必须配置服务,并测试是否可以连接成功)。

SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建_第5张图片

Security选项中,需要选择 最后一项:Be made using this security context,并输入账号密码,这里的账号密码一定是要可以登录数据库的账号密码。

SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建_第6张图片

Server options选项同样要将RPC和RPC Out置为True

SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建_第7张图片

配置完成后几点OK即可。

查询:select * from openquery(linkservername,'select * from dbname.dbo.tablename');

增删改查操作类似,只是将原来的表名换成了openquery里面的内容。

 

下面列举2个比如容易出现的异常:

1.当出现 “ 无法创建链接服务器 "TEST" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例

则需要勾选”允许进程内”选项,方法如下

展开Proviers,选择OraOLEDB.Oracle右键属性,然后勾选Allow inprocess即可。

SQLSERVER -> SQLSERVER && SQLSERVER-> ORACLE DBLINK创建_第8张图片

 

2.配置完成后执行查询没问题,但执行一些sp或有trigger事务,当出现“该伙伴事务管理器已经禁止了它对远程/网络事务的支持"报错时,则按照如下操作即可。

在“控制面板”—“系统和安全”—“管理工具”—“组件服务”—“计算机”—“我的电脑”—“Distributed Transaction Coordinator”—“本地DTC”上点右键选择“属性”。 然后选择选项卡中的“安全”,勾选: "网络DTC访问","允许远程客户端","允许入站","允许出站","不要求进行身份验证", 确认选中“网络 DTC 访问”,并选择“不要求进行验证”。

你可能感兴趣的:(Oracle,SQL,SERVER)