由于业务逻辑的多样性,经常得在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
分享到:
相关推荐
远程链接服务器详细配置 --建立连接服务器 EXEC sp_addlinkedserver '远程服务器IP','SQL Server' --标注存储 EXEC sp_addlinkedserver @server = 'server', --链接服务器的本地名称。也允许使用实例名称,例如...
根据提供的文件信息,本文将详细解释如何使用`sp_addlinkedserver`与`sp_addlinkedsrvlogin`存储过程来创建连接到Oracle与SQL Server数据库的链接服务器。这将包括具体的步骤、注意事项以及如何进行必要的配置。 ##...
在示例中,执行`sp_droplinkedsrvlogin ZYB,Null`删除了所有映射,然后使用`sp_addlinkedsrvlogin 'ZYB', 'false', NULL, 'sa', 'sa'`设置了新的映射,其中'ZYB'是链接服务器的别名,'false'表示使用服务器级别的...
3. **设置登录映射**:若需要身份验证,可使用`sp_addlinkedsrvlogin`存储过程设置登录映射,将SQL Server登录映射到远程数据源的相应凭证。 4. **测试连接**:创建链接服务器后,可通过`EXEC master..xp_cmdshell ...
### 数据库分布式查询Sqlserver详解 #### 一、引言 在进行软件开发的过程中,我们经常会遇到这样的场景:数据分布在不同的服务器上,而我们需要在这些不同的数据库之间进行查询、更新等操作。这种需求催生了数据库...
本文将详细介绍如何设置和使用MS SQL Server的链接服务器功能来访问远程数据源,并解释这一过程中的关键步骤和技术细节。 ### 一、链接服务器的概念 链接服务器是SQL Server提供的一种机制,允许用户在本地SQL ...
在SQL Server中,链接服务器是一项强大的功能,它允许我们在同一个查询中访问和操作不同服务器上的数据。本篇文章将总结SQL Server的链接服务器技术,包括如何链接到MySQL、Oracle数据库以及如何处理格式化的文本...
2. **映射远程登录**:使用`sp_addlinkedsrvlogin`系统存储过程为链接服务器创建登录映射。这一步骤是为了确保本地服务器上的用户能够通过链接服务器访问远程服务器上的数据。 ```sql EXEC sp_addlinkedsrvlogin ...
在SQL Server数据库管理系统中,`sysservers` 是一个系统表,用于存储关于已链接服务器的信息。当尝试连接到不在 `sysservers` 表中的远程服务器时,可能会遇到“sysservers 中找不到服务器,请执行 sp_...
sp_addlinkedserver是SQL Server中用于添加链接服务器的系统存储过程,这个链接服务器可以用于查询远程服务器上的数据,就像查询本地服务器一样。但是,如果新实例使用了不同于默认的端口,仅仅在创建链接服务器时...
在创建链接服务器后,可以使用 sp_addlinkedsrvlogin 创建从 SQL Server 登录到 Oracle 登录的登录映射。这样,SQL Server 可以访问 Oracle 数据库实例中的数据。 在引用 Oracle 链接服务器中的表时,需要使用四...
为了使用户能够通过 SQL Server 服务器访问连接服务器,需要在连接服务器和 SQL Server 服务器之间建立登录标识映射关系。只有 sysadmin 固定服务器角色成员才能执行系统存储过程 sp_addlinkedsrvlogin 添加登录标识...
然后,需要使用 sp_addlinkedsrvlogin 存储过程来添加链接服务器的登录信息: exec sp_addlinkedsrvlogin 'ITSV', 'false', null, '用户名', '密码' 使用链接服务器复制表 使用链接服务器,可以使用以下语句来...