手机版

SQLServer跨库查询示例 分布式查询解决方案

时间:2021-08-04 来源:互联网 编辑:宝哥软件园 浏览:

类型:数据库类大小:566KB语言:英语评分:10.0标签:立即下载远程SQL或使用openrowset插入数据

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

-查询示例

从openrowset('SQLOLEDB ')中选择*

、“sql server名称”;用户名';“密码”

,数据库名称。dbo。表名)

-导入示例

从openrowset('SQLOLEDB ')中选择*到表中

、“sql server名称”;用户名';“密码”

,数据库名称。dbo。表名)

-创建链接服务器

Execsp _ addlinkedserver' SRV _ lnk ','',' sqloledb ','远程服务器名称或ip地址'

execsp _ addlinkedsrvlogin ' SRV _ lnk ',' false ',null,'用户名','密码'

-查询示例

从srv_lnk中选择*。数据库名称。dbo。表名

-导入示例

从srv_lnk中选择*进入表格。数据库名. dbo .表名

-当链接服务器将来不再使用时,将其删除

exec sp_dropserver 'srv_lnk ',' droplogins '

-以下示例从另一个SQL Server实例的表中访问数据。

SELECT * FROM open Data Source(' SQLOLEDB ','数据源=服务器名;用户标识=MyUIDpassword=my pass '). north wind . dbo . categories

以下是通过Jet的OLE DB提供程序查询Excel电子表格的查询示例。

从开放数据源('微软。Jet.OLEDB.4.0 ','数据源=' c : financeaccount . xls ';用户标识=管理员;密码=;扩展属性=Excel 5.0 ').xactions

例如:

选择*

从开放查询(远_MDB,'选择*从MDB _成员')

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

备注:

1.有关链接服务器的详细信息,请参考联机丛书中的系统级存储过程,如sp_addlinkedserver、sp_addlinkedsrvlogin、sp_addserver、sp_dropserver、sp_serveroption和sp _ linkedservers。

2.在不同环境(所有内部网服务器、一个内部网服务器、一个公共网络服务器和所有公共网络服务器)中创建和使用此链接服务器的测试均已通过。

3.有时,在存储过程中访问链接服务器时,您可能会遇到以下提示。必须设置ANSI警告和ANSI空值。此时,设置如下:

设置本地数据库的属性-连接-选择ANSI警告和ANSI空值

如何用sql语句跨库查询

在机器b上的数据库数据库2中创建了临时表#tmp,

内容是机器a上数据库1中的表1。

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

sqlcode-创建链接服务器

Execsp _ addlinkedserver' itsv ','',' sqloledb ','远程服务器名称或ip地址'

Execsp _ addlinkedsrvlogin' itsv ',' false ',null,'用户名','密码'

-查询示例

从ITSV中选择*。数据库名称。dbo。表名

-导入示例

从ITSV中选择*进入表格。数据库名称。dbo。表名

-当链接服务器将来不再使用时,将其删除

exec sp_dropserver 'ITSV ',' droplogins '

-连接远程/局域网数据(open rowset/open query/open data source)

- 1、openrowset

-查询示例

从open rowset(' sqloleb ',' SQL server name ')中选择*;用户名';密码',数据库名称。dbo。表名)

-生成本地表

从openrowset('SQLOLEDB ',' sql server名称')中选择*进入表;用户名';密码',数据库名称。dbo。表名)

-将本地表导入远程表

插入openrowset ('sqloledb ',' SQL server名称';用户名';密码',数据库名称。dbo。表名)

从本地表中选择*

-更新本地表

更新b

设置b . a列=a列

来自openrowset('SQLOLEDB ',' sql server名称';用户名';“Password”,数据库名(. dbo. table name)作为内部联接本地表b

on a.column1=b.column1

- openquery的使用需要创建连接

-首先,创建一个连接并创建一个链接服务器

Execsp _ addlinkedserver' itsv ','',' sqloledb ','远程服务器名称或ip地址'

-查询

选择*

从OpenQuery (ITSV,“从数据库. dbo .表名中选择*”)

-将本地表导入远程表

插入OpenQuery (ITSV,“从数据库. dbo .表名中选择*”)

从本地表中选择*

-更新本地表

更新b

设置B .列B=A .列B

从openquery (itsv中,选择* from database.dbo. table name)作为

A上的内部联接局部表B .列A=B .列A

- 3、opendatasource/openrowset

选择*

FROM opendatasource('SQLOLEDB ',' Data Source=IP/ServerName;用户标识=登陆名密码=密码。test.dbo.roy_ta

-把本地表导入远程表

插入opendatasource('SQLOLEDB ',' Data Source=IP/ServerName;用户标识=登陆名密码=密码').数据库。dbo .表名

选择*从本地表

用链接服务器

局域网数据

跨库查询

都可以

链接服务器。database1.dbo.table1

链接服务器。database1.dbo.table1

结构化查询语言代码

选择*进入#

来自openrowset('sqloledb ',' IP ';‘sa’;','从pubs.dbo.jobs中选择*

如果只是偶尔使用就用opendatasource/openrowset固定的频繁使用建链接服务器

版权声明:SQLServer跨库查询示例 分布式查询解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。