sql server中分布式查询随笔

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 由于业务逻辑的多样性 经常得在sql server中查询不同数据库中数据 这就产生了分布式查询的需求 现我将开发中遇到的几种查询总结如下:1.access版本 --建立连接服务器 exec sp_addlinkedserver --要创建的链接服务器名称  'ai',             ...

由于业务逻辑的多样性
经常得在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

作者:从此启程/范存威

出处:http://www.cnblogs.com/fancunwei/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。如文章对您有用,烦请点个推荐再走,感谢! 本博客新开通打赏,鼠标移到右侧打赏浮动处,即可赏博主点零花钱,感谢您的支持!

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
3天前
|
SQL 关系型数据库 MySQL
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
|
4天前
|
SQL Java 关系型数据库
Mybatis多表关联查询与动态SQL(下)
Mybatis多表关联查询与动态SQL
18 0
|
4天前
|
SQL Java 数据库连接
Mybatis多表关联查询与动态SQL(上)
Mybatis多表关联查询与动态SQL
9 0
|
4天前
|
SQL 分布式计算 DataWorks
实时数仓 Hologres产品使用合集之查询分区表的生命周期(即之前设置的'auto_partitioning.num_retention'值)的SQL语句,可以使用什么查询
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
17 0
|
4天前
|
数据库 数据库管理 Python
sqlserver练习----涉及多个表的连接查询
sqlserver练习----涉及多个表的连接查询
9 0
|
4天前
|
存储 Cloud Native 关系型数据库
PolarDB-X 是面向超高并发、海量存储和复杂查询场景设计的云原生分布式数据库系统
【5月更文挑战第14天】PolarDB-X 是面向超高并发、海量存储和复杂查询场景设计的云原生分布式数据库系统
33 2
|
4天前
|
SQL 算法
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
14 1
|
4天前
|
SQL 前端开发
基于jeecgboot复杂sql查询的列表自定义列实现
基于jeecgboot复杂sql查询的列表自定义列实现
11 0
|
4天前
|
SQL 数据库
SQL数据库基础语法-查询语句
SQL数据库基础语法-查询语句
|
4天前
T-sql 高级查询( 5*函数 联接 分组 子查询)
T-sql 高级查询( 5*函数 联接 分组 子查询)