SQL数据库创建链接服务,不止在SQL数据库,也可以Oracle其他,本文针对于SQL的操作说明
1.对跨服务器进行临时访问,直接用 OPENROWSET的方式
--查询语句范例
--select top 1 *from openrowset('SQLOLEDB','服务名';'账号';'密码',数据库.dbo.表)a
select top 1 *
from openrowset('SQLOLEDB','192.168.1.1';'sa';'111',TEST.dbo.TEST)a
where NO ='1'
本查询的时候时候会提示错误“提示:SQL Server 阻止了对组件'Ad Hoc Distributed Queries '的STATEMENT 'OpenRowset/OpenDatasource'”,请参考下一篇博文的针对性说明的解决办法。
2.跨服务器数据访问,创建链接服务器
2.1 语句创建
--跨服务器数据访问
--如果经常访问或数据量大,建议用链接服务器
--创建链接服务器
--创建范例如下
--SQLOLEDB 默认为SQL数据库
--SER_REMOTEERP 为你取得服务名,可以写192.168.1.2 也可以任意取其他
-------------------------------------------------------------------
--创建语句
EXEC sp_addlinkedserver 'SER_REMOTEERP','','SQLOLEDB','192.168.1.2'
--本地用户名,远程服务登入名,远程服务的密码
--一般创建用 null 或SA
EXEC sp_addlinkedsrvlogin 'SER_REMOTEERP','false',null,'sa','密码'
EXEC sp_serveroption 'SER_REMOTEERP','rpc out','true'
--查询语句
select top 1 * from SER_REMOTEERP.数据库名.dbo.表名
--删除链接服务
EXEC sp_dropserver 'SER_REMOTEERP','droplogins'
如果创建时候遇到问题:没有从远程服务器‘‘映射到本地用户‘(null)/sa‘的远程用户‘sa‘及服务主密码解密错误”,则参考我的下一篇博文进行解决,连接如下
没有从远程服务器‘‘映射到本地用户‘(null)/sa‘的远程用户‘sa‘及服务主密码解密错误的解决办法_迪丽热爱的博客-CSDN博客
2.2 SQL画面操作
输入远程登入的账号和密码
RFC和RFC OUT 选择TRUE
测试连接进行验证