由于业务逻辑的多样性,经常得在sql server中查询不同数据库中数据,这就产生了分布式查询的需求

现我将开发中遇到的几种查询总结如下:

1.access版本

--建立连接服务器 
EXEC sp_addlinkedserver 
--要创建的链接服务器名称  
'ai',             
--产品名称               
'access',     
--OLE DB 字符 
'Microsoft.Jet.OLEDB.4.0',  
--数据源 
--格式: 
-- 盘符:\路径\文件名 
-- \\网络名\共享名\文件名  (网络版本) 
'd:\testdb\db.mdb' 
GO

--创建链接服务器上远程登录之间的映射 
--链接服务器默认设置为用登陆的上下文进行 
--现在我们修改为连接链接服务器不需使用任何登录或密码 
exec sp_addlinkedsrvlogin 'ai','false' 
go

--查询数据 
select * from ai...mytable 
go

2.excel版本

--建立连接服务器 
EXEC sp_addlinkedserver 
--要创建的链接服务器名称  
'ai_ex',             
--产品名称               
'ex',     
--OLE DB 字符 
'Microsoft.Jet.OLEDB.4.0',  
--数据源 
--格式: 
-- 盘符:\路径\文件名 
-- \\网络名\共享名\文件名  (网络版本) 
'd:\testdb\mybook.xls' , 
null, 
--OLE DB 提供程序特定的连接字符串 
'Excel 5.0' 
GO

----创建链接服务器上远程登录之间的映射 
--链接服务器默认设置为用登陆的上下文进行 
--现在我们修改为连接链接服务器不需使用任何登录或密码 
exec sp_addlinkedsrvlogin 'ai_ex','false' 
go

--查询数据 
select * from ai_ex...sheet3$ 
go

3.ms sql版本

--建立连接服务器 
EXEC sp_addlinkedserver 
--要创建的链接服务器名称  
'ai_mssql',             
--产品名称               
'ms',     
--OLE DB 字符 
'SQLOLEDB',  
--数据源 
'218.204.111.111,3342' 
GO

--创建链接服务器上远程登录之间的映射 
EXEC sp_addlinkedsrvlogin 
'ai_mssql', 
'false', 
NULL, 
--远程服务器的登陆用户名 
'zhangzhe', 
--远程服务器的登陆密码 
'fish2231' 
go

--查询数据 
select * from ai_mssql.pubs.dbo.jobs 
go

--还有一个更简单的办法 
--这种方式在链接服务器建立后,它是默认开放RPC的

--建立连接服务器 
EXEC sp_addlinkedserver 
--要创建的链接服务器名称 
--这里就用数据源作名称 
'218.204.111.111,3342', 
'SQL Server' 
GO

--创建链接服务器上远程登录之间的映射 
EXEC sp_addlinkedsrvlogin 
'218.204.111.111,3342', 
'false', 
NULL, 
--远程服务器的登陆用户名 
'zhangzhe', 
--远程服务器的登陆密码 
'fish2231' 
go

--查询数据 
select * from [218.204.253.131,3342].pubs.dbo.jobs 
go

4.Oracle版本

--建立连接服务器 
EXEC sp_addlinkedserver 
--要创建的链接服务器名称  
'o', 
--产品名称               
'Oracle', 
--OLE DB 字符 
'MSDAORA', 
--数据源 
'acc' 
GO

--创建链接服务器上远程登录之间的映射 
EXEC sp_addlinkedsrvlogin 
'o', 
'false', 
NULL, 
--Oracle服务器的登陆用户名 
'F02M185', 
--Oracle服务器的登陆密码 
'f02m185185' 
go

--查询数据 
--格式:LinkServer..Oracle用户名.表名 
--注意用大写,因为在Oracle的数据字典中为大写 
select * from o..F02M185.AI 
go

sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)使用小总结)的更多相关文章

  1. sql server中分布式查询随笔

    由于业务逻辑的多样性 经常得在sql server中查询不同数据库中数据 这就产生了分布式查询的需求 现我将开发中遇到的几种查询总结如下: 1.access版本 --建立连接服务器 exec sp_a ...

  2. 在64位SQL Server中创建Oracle的链接服务器

    当我们同时使用SQL Server和Oracle来存储数据时,经常会用到跨库查询.为了方便使用跨库查询,一个最好的办法就是通过创建链接服务器来实现.既可以在SQL Server中创建Oracle的链接 ...

  3. 在64位SQL Server中创建Oracle的链接服务器 Link Server

    有时候我们希望在一个sqlserver下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成这些操作,我们首要的是创建数据库链接. 数据库链接能够让本地的一个s ...

  4. SQL SERVER中XML查询:FOR XML指定PATH

    SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指 ...

  5. SQL Server 不同数据间建立链接服务器进行连接查询

        在平时查询以及导数据时,经常会遇到需要使用两个数据库里数据的情况,这时就会用到在两个服务器之间建立一个链接,进行操作,脚本语句如下: 举例:例如你在测试服务器上想要查询业务库里的数据信息,此脚 ...

  6. (4.21)sql server中复制查询结果集

    在查询结果窗口中复制列标题似乎是一项简单的任务,但对于业余爱好者来说,这可能是一场噩梦. 没有可见的指令/链接/按钮,其中一个可以使用列标题单击和复制所选数据.让我们看看如何在SQL Server M ...

  7. SQL Server中时间段查询和数据类型转换

    不知道什么时候对数据独有情种,也许是因为所学专业的缘故,也许是在多年的工作中的亲身经历,无数据,很多事情干不了,数据精度不够,也很多事情干不了,有一次跟一个朋友开玩笑说,如果在写论文的时候,能有一份独 ...

  8. SQL Server中的查询

          本博文简介一下SQL Server中经常使用的几类查询及相关使用的方法.       一.ExecuteScalar方法获取单一值       ExecuteScalar方法是SqlCom ...

  9. SQL Server Form子查询、链接查询

    所用数据表:用户,钱包,订单 一.from子查询 --查询钱包里金额大于30000 and User_ID = Users.ID) ) 二.链接查询 内连接(inner join)外连接(left/r ...

随机推荐

  1. git 利用hook 实现服务器自动更新代码

    如何利用git的hook实现提交代码后自动更新? 因为个人开发经常需要提交代码,每次都需要连接服务器去pull代码,重启服务器就显得十分繁琐,因此github提供了一个时间钩子,用户push代码后可以 ...

  2. java反射获取class

  3. sql service ---- update和delete 误操作数据 ---- 恢复数据

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的 ...

  4. 洛谷 p2066 机器分配(资源型)

    机器分配 https://www.luogu.org/problem/show?pid=2066 题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定 ...

  5. 转【Zabbix性能调优:配置优化】

    转载:https://sre.ink/zabbix-turn-conf/ #通过日志可以分析当前服务状态.LogFile=/tmp/zabbix_server.log #日志文件路径.LogFileS ...

  6. python 分布式进程体验

    抽了点时间体验了一把python 分布式进程,有点像分布式计算的意思,不过我现在还没有这个需求,先把简单体验的脚本发出来,供路过的各位高手指教 注:需要先下载multiprocessing 的pyth ...

  7. Redis实战(七)Redis开发与运维

    Redis用途 1.缓存 Redis提供了键值过期时间设置, 并且也提供了灵活控制最大内存和内存溢出后的淘汰策略. 可以这么说, 一个合理的缓存设计能够为一个网站的稳定保驾护航. 2.排行榜系统 Re ...

  8. laravel二维数组手动分页显示

    示例:数组 $user 如下 $user: array (size=) 'sort' => array (size=) => float 0.028616622341171 => f ...

  9. http方式传递参数值转义或乱码的处理(base64)

    如果通过http方式传递参数url编码了,可用urlEncode和urlDecode,这种方式不同开发语言编码出来的可能不同,所以不同开发语言最好用base64编码和解码来处理: base64加密: ...

  10. E - Sudoku HDU - 5547 (搜索+暴力)

    题目链接:https://cn.vjudge.net/problem/HDU-5547 具体思路:对于每一位上,我们可以从1到4挨着去试, 具体判断这一位可不可以的时候,看当前这一位上的行和列有没有冲 ...