SQL跨資料庫查詢

2021-06-23 02:52:15 字數 2450 閱讀 5286

語句

select * from 資料庫a.dbo.表a a, 資料庫b.dbo.表b b wherea.field=b.field

"dbo"可以省略 如

select * from 資料庫a..表a a, 資料庫b..表b bwhere a.field=b.field

sqlserver資料庫:

--這句是對映乙個遠端資料庫

exec sp_addlinkedserver '遠端資料庫的ip或主機名',n'sql server'

--這句是登入遠端資料庫

exec sp_addlinkedsrvlogin '遠端資料庫的ip或主機名', 'false', null, '登入名', '密碼'

--登入後,可以用以下格式操作遠端資料庫中的物件

select * from [遠端資料庫的ip或主機名].[資料庫名].[dbo].[表名]

insert into openrowset('sqloledb','192.168.0.100';'sa';'10060','select * from knss2009.dbo.yw_kck') select * from yw_kck

不同伺服器資料庫之間的資料操作

--建立鏈結伺服器 

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 

--2、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 ', 

'datasource=ip/servername;userid=登陸名;password=密碼 ').test.dbo.roy_ta 

--把本地表匯入遠端表 

insert opendatasource( 'sqloledb ', 

'datasource=ip/servername;userid=登陸名;password=密碼 ').資料庫.dbo.表名 

select * from

資料庫跨庫查詢SQL

資料庫跨庫查詢sql select from opendatasource sqloledb data source user id password jshh.dbo.rs employee where code 0110 資料庫跨庫查詢功能開啟sp configure sp configure ...

跨資料庫查詢資料

今天要導資料,不幸的是要一台伺服器導到另一台伺服器上,於是乎就到上網查了一下怎麼進行跨伺服器資料庫查詢 方法一 1select from opendatasource 2 sqloledb 3 data source 遠端ip user id sa password 密碼 4 庫名.dbo.表名 於...

ACCESS 跨資料庫查詢的SQL語句

by ben 問題說明 有時需要在兩個或三個資料庫的表中,通過相關關鍵字,查詢獲取所需記錄集,用一般的sql查詢語句是實現不了的,可通過access的跨庫查詢功能實現。解決方法 例如 裝材型別 和 裝材 兩張表是在不同的資料庫中的,具體查詢方法,如下 詳細解釋 database path pwd 1...