SQLServer跨库查询--分布式查询 用openrowset连接远程SQL或插入数据

2023-05-16

–如果只是临时访问,可以直接用openrowset

–查询示例

select * from openrowset(‘SQLOLEDB’

,‘sql服务器名’;‘用户名’;‘密码’

,数据库名.dbo.表名)

–导入示例

select * into 表 from openrowset(‘SQLOLEDB’

,‘sql服务器名’;‘用户名’;‘密码’

,数据库名.dbo.表名)

–创建链接服务器

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

exec sp_addlinkedsrvlogin ‘srv_lnk’,‘false’,null,‘用户名’,‘密码’

go

–查询示例

select * from srv_lnk.数据库名.dbo.表名

–导入示例

select * into 表 from srv_lnk.数据库名.dbo.表名

–以后不再使用时删除链接服务器

exec sp_dropserver ‘srv_lnk’,‘droplogins’

go

–下面的示例访问来自某个表的数据,该表在 SQL Server 的另一个实例中。

SELECT *FROM OPENDATASOURCE(‘SQLOLEDB’,‘Data Source=ServerName;User ID=MyUID;Password=MyPass’).Northwind.dbo.Categories

下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。

SELECT *FROM OpenDataSource( ‘Microsoft.Jet.OLEDB.4.0’,‘Data Source=“c:Financeaccount.xls”;User ID=Admin;Password=;Extended properties=Excel 5.0’)…xactions

例如:

SELECT *

FROM OPENQUERY(Far_MDB, ‘SELECT * FROM MDB_Member’)

这就是从我的链接服务器当中去查询MDB_Member表的数据

备注:

1、关于链接服务器的详细情况请参阅联机丛书中的sp_addlinkedserver、 sp_addlinkedsrvlogin、sp_addserver、sp_dropserver、sp_serveroption、sp_linkedservers等系统级存储过程。

2、关于此链接服务器的创建及其使用在不同环境下(全部内网服务器、一内网一公网服务器、全公网服务器)测试,均告通过。

3、有时候在存储过程中访问链接服务器的时候可能会碰到如下的提示,必须要对ANSI warning 和ANSI nulls进行设置,这时候按照如下的方法进行设置:

设置本地数据库的属性–>连接–>选上ANSI warning 和 ANSI nulls

如何用sql语句进行跨库查询

在机器B上的数据库database2中创建一个临时表#tmp,

内容就是机器A上的数据库database1里面的Table1。

如何用sql语句完成?(不借用dts等)

SQL code --创建链接服务器

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

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

–查询示例

select * from ITSV.数据库名.dbo.表名

–导入示例

select * into 表 from ITSV.数据库名.dbo.表名

–以后不再使用时删除链接服务器

exec sp_dropserver ‘ITSV’,‘droplogins’

–连接远程/局域网数据(openrowset/openquery/opendatasource)

–1、openrowset

–查询示例

select * from openrowset(‘SQLOLEDB’,‘sql服务器名’;‘用户名’;‘密码’,数据库名.dbo.表名)

–生成本地表

select * into 表 from openrowset(‘SQLOLEDB’,‘sql服务器名’;‘用户名’;‘密码’,数据库名.dbo.表名)

–把本地表导入远程表

insert openrowset(‘SQLOLEDB’,‘sql服务器名’;‘用户名’;‘密码’,数据库名.dbo.表名)

select *from 本地表

–更新本地表

update b

set b.列A=a.列A

from openrowset(‘SQLOLEDB’,‘sql服务器名’;‘用户名’;‘密码’,数据库名.dbo.表名)as a inner join 本地表 b

on a.column1=b.column1

–openquery用法需要创建一个连接

–首先创建一个连接创建链接服务器

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

–查询

select *

FROM openquery(ITSV, ‘SELECT * FROM 数据库.dbo.表名’)

–把本地表导入远程表

insert openquery(ITSV, ‘SELECT * FROM 数据库.dbo.表名’)

select * from 本地表

–更新本地表

update b

set b.列B=a.列B

FROM openquery(ITSV, ‘SELECT * FROM 数据库.dbo.表名’) as a

inner join 本地表 b on a.列A=b.列A

–3、opendatasource/openrowset

SELECT *

FROM opendatasource(‘SQLOLEDB’, ‘Data Source=ip/ServerName;User ID=登陆名password=密码’ ).test.dbo.roy_ta

–把本地表导入远程表

insert opendatasource(‘SQLOLEDB’, ‘Data Source=ip/ServerName;User ID=登陆名password=密码’).数据库.dbo.表名

select * from 本地表

用 链接服务器

OPENROWSET

OPENDATASOURCE

都可以

链接服务器.database1.dbo.table1

链接服务器.database1.dbo.table1

SQL code

select * into #

from openrowset(‘sqloledb’,‘ip’;‘sa’;’’,‘select * from pubs.dbo.jobs’)

如果只是偶尔使用 就用opendatasource/openrowset 固定的频繁使用建linked server

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLServer跨库查询--分布式查询 用openrowset连接远程SQL或插入数据 的相关文章

  • 弹窗问题 Android Detected problems with API compatibility visit g.co/dev/appcompat for more info dialog

    原因是Android P之后Google限制了开发者调用非公开的API方法 xff0c 例如使用反射去调用SDK内部的非公开方法 xff0c 这样启动app的时候就会弹窗提示 xff0c 不过我们还是可以通过反射把他干掉 手动狗头 解决方法
  • 进程创建和替换——fork和exec

    fork fork是UNIX系统中产生新进程的唯一办法 fork的作用是复制当前进程 xff0c 生成子进程 xff0c 子进程从fork的位置继续执行 fork函数的特点概括起来就是 调用一次 xff0c 返回两次 xff0c 在父进程中
  • ROS(2)工作空间与包

    2 创建工作空间与功能包 ros的工作空间是我们开发ros项目的一个工作目录 src 代码空间 xff0c 包含代码 lanuch文件 配置文件等等 xff0c 是源码所在的目录 xff1b build 编译空间 xff0c 包含编译过程中
  • Invalid bound statement (not found)错误的可能原因

    今天在执行sql的时候遇到这个问题 xff0c 按说非常简单 xff0c 但是出现问题的原因却不是唯一的 xff0c 所以总一下 xff1a 1 检查xml文件所在package名称是否和Mapper interface所在的包名 lt m
  • 组合导航+多传感器融合算法

    1 INS GPS的组合导航系统可以输出高频率的导航参数信息 xff08 位置 速度 姿态 xff09 xff0c 并且在长 短期的导航过程中均能具备较高精度 xff08 输出数据的意义什么 xff0c PDR是步长 43 航向 xff09
  • 记录一次阿里云服务器被入侵处理经过

    本人自己的阿里云服务器 xff0c 纯个人使用 xff0c 除了提供小爱音箱开关家中esp8266灯带使用 xff0c 没什么特别的重要服务 直到有一天 xff0c 小爱平台的哥们告诉我 xff0c 我的应用响应超时 xff0c 才开始关注
  • 使用阿里云搭建自用大数据集群(3台),含计费方式描述

    1 背景 自学大数据相关课程 xff0c 需要3台虚拟机 xff0c 之前是使用本地克隆虚拟机的方式 xff0c 但是现在用mac比较多 xff0c 而且需要上班 xff0c 无法一直坐在开着虚拟机的win前进行操作学习 xff0c 所以考
  • go语言基础-gozero

    go基础 go 文档 Go语言的并发是基于 goroutine 的 xff0c goroutine 类似于线程 xff0c 但并非线程 可以将 goroutine 理解为一种虚拟线程 Go 语言运行时会参与调度 goroutine xff0
  • devops-2-prometheus

    监控对比 prometheus官方英文文档 入门教程prometheus操作指南 prometheus书学习文档 博客园prometheus系列文章 Prometheus云原生监控pdf 配套视频 服务发现 grafana告警等官方英文文档
  • 443https-公网证书nginx-freessl

    keymanage 生成证书 教程文档 freessl freessl cn acme sh帮助文档 主机记录 acme challenge 记录类型 CNAME 记录值 i7tdkyba41nr7ryod9hr dcv2 httpsaut
  • go基础语法

    基础语法 参考 log 日志 配置基础库参考 zap 日志 zap配置参考 go get u go uber org zap gin 日志 zap 生成 traceid gorm 空指针报错 传递指针地址 结果传递了值报错 reflect
  • 构建监控系统-2-zabbix开发

    参考 zabbix6官网自动发现 zabbix官网 agent监控项说明 go请求zabbix封装参考 ant design pro 前端构建 gin 官方文档 zabbix6 0接口官方文档 zabbix 各表开发介绍 zabbix we
  • 读取文件报错'utf-8' codec can't decode byte 0xb2 in position 49: invalid start byte

    python open打开文件报错 utf 8 codec can t decode byte 0xb2 in position 49 invalid start byte 解决方法 xff1a 1 操作字符为xb2 2 手动查看csv文件
  • python 技术大杂烩

    20230204 python升级报错 pip3 install span class token operator span U pip Could span class token keyword not span fetch URL
  • python 页面点击事件实现selenium

    pip install selenium coding 61 utf 8 from selenium import webdriver driver 61 webdriver Chrome driver maximize window dr
  • python 2.7 连接mysql

    sudo pip install MySQL python import xlrd import MySQLdb cursors conn 61 MySQLdb connect host 61 39 ip 39 user 61 39 use
  • 搭建react antd

    npm install g antd npm WARN antd 64 3 10 8 requires a peer of react 64 gt 61 16 0 0 but none is installed You must insta
  • UCF101和HMDB51数据集的处理 for Human Action Recognition

    数据集简介 xff1a 一 数据集获取 xff1a 1 UCF 101 http crcv ucf edu data UCF101 UCF101 rar 此外 xff0c 该数据集由于超过4G了无法上传百度云 xff0c 所以还在自己移动硬
  • 各种rtos(实时操作系统)比较

    RTOS在国内主要有vxworks和pSOS 现在还有nuclear QNX WinCE 说起好坏吗 其实 vxWorks要好一些 可能 不知道以前国内研究所一直用的VRTX是不是都被vxworks所替代了呢 据说因为VRTX是最早商业化的
  • 使用docker开启和停止一个容器

    我在网上看教程的时候 xff0c 使用docker开启一个容器用的是run命令 xff0c 这里有一个小坑 比如我用run开启了一个mysql xff0c 然后下次还用run开启的话 xff0c 实际上会生成两个mysql容器 正确的做法是

随机推荐

  • 使用python求一次函数和三角函数的交点并画图

    由于一些物理计算的需要 xff0c 我要用电脑将一个一次函数和一个三角函数 xff08 cotan xff09 的图像和交点画出来 本例程使用到的库 xff1a numpy 强大的科学计算库 matlibplot python绘图库 ran
  • 将MyEclipse的配色方案还原到最初的状态(主题还原)

    我的MyEclipse中导入了主题 xff0c 但是现在不想用那种花花绿绿的配色了 xff08 眼睛有点累 xff09 但是想还原却比较麻烦 xff0c 目前有三种方法吧 xff1a 1 xff1a 更换workspace 这种方法需要你重
  • 自己写的一个数组与list转化工具,请大神指正问题

    话不多说上代码 public class ListUtil public static void main String args List lt Integer gt lst1 61 new ArrayList lt Integer gt
  • Python学习记录-----批量发送post请求

    昨天学了一天的Python xff08 我的生产语言是java xff0c 也可以写一些shell脚本 xff0c 算有一点点基础 xff09 xff0c 今天有一个应用场景 xff0c 就正好练手了 这个功能之前再java里写过 xff0
  • 找不到系统安全日志/var/log/secure文件的问题

    今天打算配置一个服务器防止暴力破解的脚本 xff0c 原理不复杂 xff0c 搜索登录错误超过一定次数的ip地址 xff0c 加入防火墙 xff0c 但是在找登录日志的时候出现了问题 一般服务器的ssh登录等操作日志都是 var log s
  • osx多用户设置共享文件夹(MacBook)

    mac平台有很方便的多用户系统 xff08 Unix你懂的 xff09 我本人就一直在使用两个账户 xff0c 各有分工 xff0c 权限不同 有时候我们在一个账户下下载或者使用的文件 xff0c 也需要在另一个账户上使用 xff0c 这就
  • MySQL DROP TABLE操作以及 DROP 大表时的注意事项

    语法 xff1a 删表 sql view plain copy DROP TABLE Syntax DROP TEMPORARY TABLE IF EXISTS tbl name tbl name RESTRICT CASCADE 可一次删
  • python日期操作类

    coding utf 8 39 39 39 获取当前日期前后N天或N月的日期 39 39 39 from time import strftime localtime from datetime import timedelta date
  • ROS运行调用摄像头无法显示的解决办法

    报错 xff1a Unable to open camera calibration file home hri ros camera info head camera yaml 参考 xff1a https github com ros
  • [VC] 冒号(:)与C/C++

    这篇文章将总结C C 43 43 中的冒号的用法 1 位域定义 是C 43 43 里的 作用域分解运算符 比如声明了一个类A xff0c 类A里声明了一个成员函数voidf xff0c 但没有在类的声明里给出f的定义 xff0c 那么在类外
  • TX2入门(1)——开箱上电

    因为实验室有需求 导师购入了一块Jetson TX2开发板 下面就记录一下板子在我手机的应用过程 xff0c 方便以后查找 xff0c 如果也能给大家一些帮助就更好啦 欢迎转载 1 已经提前按照网上各种大神的意见采购好了电源线 HDMI转V
  • TX2入门(3)——ubuntu(包含tx2端)常用命令(持续补充中……)

    emmm xff0c 刷机完成 xff0c 突然发现还有一些常用指令需要整理一下 xff0c 以后查找起来方便 所以 xff0c tensorflow放到下一篇吧 一 系统架构类型 1 查看系统架构 uname a 2 显示操作系统架构类型
  • 使用 sphinx 制作简洁而又美观的文档

    Sphinx 是一种工具 xff0c 它允许开发人员以纯文本格式编写文档 xff0c 以便采用满足不同需求的格式轻松生成输出 这在使用 Version Control System 追踪变更时非常有用 纯文本文档对不同系统之间的协作者也非常
  • 关于C语言的空格符和字符串结束符

    空格 39 39 和结束符 39 0 39 是不一样的 xff0c 但是如果用scanf函数 s的格式输入 xff0c 遇到空格符就会当成结束符
  • 查看Jetson系列产品JetPack的版本信息

    想查看 JetPack 的版本信息 xff0c 网上搜了一下都是要查看 etc nv tegra release 也没说该怎么看和什么意思 图片链接 https www jianshu com p 7f2d8a563ded 查了一下 xff
  • docker run 参数详解

    命令格式 xff1a docker run OPTIONS IMAGE COMMAND ARG Usage Run a command in a new container 中文意思为 xff1a 通过run命令创建一个新的容器 xff08
  • Docker安装Minio

    寻找Minio镜像 Docker Hub 查找官方镜像 下载Minio镜像 下载最新版Minio镜像 span class token function docker span pull minio minio 等同于 span class
  • Docker安装Nginx

    寻找Nginx镜像 Docker Hub 查找官方镜像 下载Nginx镜像 下载最新版Nginx镜像 span class token function docker span pull nginx 等同于 span class token
  • Docker安装pgAdmin4

    寻找Redis镜像 Docker Hub 查找官方镜像 下载Redis镜像 下载最新版pgAdmin4镜像 span class token function docker span pull dpage pgadmin4 等同于 span
  • SQLServer跨库查询--分布式查询 用openrowset连接远程SQL或插入数据

    如果只是临时访问 可以直接用openrowset 查询示例 select from openrowset SQLOLEDB sql服务器名 用户名 密码 数据库名 dbo 表名 导入示例 select into 表 from openrow