SQL链接服务器查询-OPENQUERY的使用

OpenQuery:

用途:与其他Server交互的技术,通过它能够直接访问其他数据库资源。可以跨平台连接,包括Oracle

--创建链接服务器

exec sp_addlinkedserver ‘ITSV‘ , ‘‘ , ‘SQLOLEDB‘ , ‘远程服务器名或ip地址‘

exec sp_addlinkedsrvlogin ‘ITSV‘ , ‘false‘ , null , ‘用户名‘ , ‘密码

写法:

(1)查询

select * from OpenQuery([linkerServerName],‘Select * from t1 where id <10‘)

带参数查询:

--限定条件在外面  缺点数据量大效率略低

select * from OPENQUERY (linked_server, ‘SELECT id FROM msgs‘) WHERE [email protected])

--拼接字符串传参

DECLARE @Sql VARCHAR(1000)

set @sqlstr = ‘select * from  openquery(ikangmis,select * from table where id=‘‘‘[email protected]+‘‘‘)‘;

exec ( @sqlstr );

EXEC(@Sql)

(2)插入

insert into openquery(linkservername,‘select * from table1‘) select * from table2 where id=2

原文地址:https://www.cnblogs.com/ywkcode/p/10886365.html

时间: 2024-10-07 01:30:23

SQL链接服务器查询-OPENQUERY的使用的相关文章

SQl 跨服务器查询脚本示例

1.采用OPENDATASOURCE select top 10 *from OPENDATASOURCE('SQLOLEDB','Data Source=IP地址;User ID=连接用户名称;Password=连接用户密码' ).远程目标数据库.dbo.表名 2.采用联结服务器 --创建linkServer exec sp_addlinkedserver '别名','','SQLOLEDB','IP地址' --登陆linkServer exec sp_addlinkedsrvlogin '别

建立SQL链接服务器

有一个最简单的方法就是直接鼠标新建,这样是以ip为开头的,也可以通过下面的代码进行创建,这样的话就可以换名字了...... @server名字全部改为你的链接服务器名字,@datasec改为链接服务器实例名,@rmtpassword改为登陆密码,完事~ USE [master] GO /****** Object: LinkedServer [IPDYH] Script Date: 2018/2/9 9:11:53 ******/ EXEC master.dbo.sp_addlinkedserv

SQL 跨服务器查询

直接上干货.. 语法: Select * From OPENDATASOURCE('SQLOLEDB','Data Source=Your DB IP;User ID=UserName;Password=Pwd').DBName.dbo.TableName 相信有了这语法.. 一眼就能看明白这是怎么回事儿.. 如果报错: SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的

如何使用SQL Server链接服务器访问DB2 Server

首先,需要安装Microsoft OLE DB Provider for DB2 下载地址:http://download.microsoft.com/download/B/B/2/BB22098A-C071-415F-9269-2EB26CEFB562/DB2OLEDB_CN.exe安装以后,菜单多出一项: 接下来,运行“数据访问工具”详细进行配置. 假设DB2的配置信息如下所示 可访问的数据库地址:jdbc:db2://10.18.50.149:50000/BPMDB用户名:db2admin

注册“Oracle Provider for OLE DB”和创建链接服务器

在sql server 数据库上创建链接服务器,连接oracle数据库,访问接口需要设置为:“Oracle Provider for OLE DB”. 如果电脑上没有这个驱动,安装一个完整的Oracle11gR2程序是一个有效的方法,但这个64位版本的安装包有2个多G, 相当庞大,如果仅仅是为了建立链接服务器,完全没必要装这么个庞然大物.其实我们只需要下载ODAC压缩包即可. 下面总结如何注册:“Oracle Provider for OLE DB”这个驱动: Part1.注册“Oracle P

sqlserver创建链接服务器连接sqlserver脚本

示例: EXEC sp_addlinkedserver @server='MyLinkServer', --链接服务器别名 @srvproduct='', @provider='SQLOLEDB', @datasrc='10.10.2.17', --要访问的的数据库所在的服务器的ip @catalog= 'HISDB' --访问的数据库名 GO EXEC sp_addlinkedsrvlogin 'MyLinkServer', --链接服务器别名 'false', NULL, 'sa', --要

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

由于业务逻辑的多样性,经常得在sql server中查询不同数据库中数据,这就产生了分布式查询的需求 现我将开发中遇到的几种查询总结如下: 1.access版本 --建立连接服务器 EXEC sp_addlinkedserver --要创建的链接服务器名称  'ai',             --产品名称               'access',     --OLE DB 字符 'Microsoft.Jet.OLEDB.4.0',  --数据源 --格式: -- 盘符:\路径\文件名 -

sql server2008 搭建链接服务器成功后查询时报Cannot obtain the schema rowset &quot;DBSCHEMA_TABLES_INFO&quot; for OLE DB provider &quot;SQLNCLI10&quot; for linked server &quot;XXXXX&quot;. 的解决方法

原文:sql server2008 搭建链接服务器成功后查询时报Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "XXXXX". 的解决方法 这是由于链接的数据库服务器的版本与本地数据库服务器不一致,有人说要升到sp3,sp4,然后在执行什么语句之类的 我觉得太繁琐了,通过网上查询之后看

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

    在平时查询以及导数据时,经常会遇到需要使用两个数据库里数据的情况,这时就会用到在两个服务器之间建立一个链接,进行操作,脚本语句如下: 举例:例如你在测试服务器上想要查询业务库里的数据信息,此脚本就需要在测试服务器上执行,输入业务服务器的IP地址.业务服务器的账户.密码,然后执行语句即可:反之,如果你需要将测试数据库的数据导入正式库内,就需要在正式库内建立可以连接到测试库的链接. --创建链接服务器 exec sp_addlinkedserver 'ITSV' , '' , 'SQLOLE