西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程數(shù)據(jù)庫(kù)教程 → SQLServer跨庫(kù)查詢示例、分布式查詢解決方案

SQLServer跨庫(kù)查詢示例、分布式查詢解決方案

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2012/5/10 11:56:25字體大小:A-A+

作者:佚名點(diǎn)擊:194次評(píng)論:0次標(biāo)簽: SQLServer

  • 類型:數(shù)據(jù)庫(kù)類大。566KB語言:英文 評(píng)分:10.0
  • 標(biāo)簽:
立即下載

用openrowset連接遠(yuǎn)程SQL或插入數(shù)據(jù)

--如果只是臨時(shí)訪問,可以直接用openrowset

--查詢示例

select * from openrowset('SQLOLEDB'

,'sql服務(wù)器名';'用戶名';'密碼'

,數(shù)據(jù)庫(kù)名.dbo.表名)

--導(dǎo)入示例

select * into 表 from openrowset('SQLOLEDB'

,'sql服務(wù)器名';'用戶名';'密碼'

,數(shù)據(jù)庫(kù)名.dbo.表名)


--創(chuàng)建鏈接服務(wù)器

exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','遠(yuǎn)程服務(wù)器名或ip地址'

exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用戶名','密碼'

go

--查詢示例

select * from srv_lnk.數(shù)據(jù)庫(kù)名.dbo.表名

--導(dǎo)入示例

select * into 表 from srv_lnk.數(shù)據(jù)庫(kù)名.dbo.表名

--以后不再使用時(shí)刪除鏈接服務(wù)器

exec sp_dropserver 'srv_lnk','droplogins'

go

--下面的示例訪問來自某個(gè)表的數(shù)據(jù),該表在 SQL Server 的另一個(gè)實(shí)例中。

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

下面是個(gè)查詢的示例,它通過用于 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')

這就是從我的鏈接服務(wù)器當(dāng)中去查詢MDB_Member表的數(shù)據(jù)

備注:

1、關(guān)于鏈接服務(wù)器的詳細(xì)情況請(qǐng)參閱聯(lián)機(jī)叢書中的sp_addlinkedserver、 sp_addlinkedsrvlogin、sp_addserver、sp_dropserver、sp_serveroption、sp_linkedservers等系統(tǒng)級(jí)存儲(chǔ)過程。

2、關(guān)于此鏈接服務(wù)器的創(chuàng)建及其使用在不同環(huán)境下(全部?jī)?nèi)網(wǎng)服務(wù)器、一內(nèi)網(wǎng)一公網(wǎng)服務(wù)器、全公網(wǎng)服務(wù)器)測(cè)試,均告通過。

3、有時(shí)候在存儲(chǔ)過程中訪問鏈接服務(wù)器的時(shí)候可能會(huì)碰到如下的提示,必須要對(duì)ANSI warning 和ANSI nulls進(jìn)行設(shè)置,這時(shí)候按照如下的方法進(jìn)行設(shè)置:

設(shè)置本地?cái)?shù)據(jù)庫(kù)的屬性-->連接-->選上ANSI warning 和 ANSI nulls

如何用sql語句進(jìn)行跨庫(kù)查詢

在機(jī)器B上的數(shù)據(jù)庫(kù)database2中創(chuàng)建一個(gè)臨時(shí)表#tmp,

內(nèi)容就是機(jī)器A上的數(shù)據(jù)庫(kù)database1里面的Table1。

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

SQL code --創(chuàng)建鏈接服務(wù)器

exec sp_addlinkedserver 'ITSV','','SQLOLEDB','遠(yuǎn)程服務(wù)器名或ip地址'

exec sp_addlinkedsrvlogin 'ITSV','false',null,'用戶名','密碼'

--查詢示例

select * from ITSV.數(shù)據(jù)庫(kù)名.dbo.表名

--導(dǎo)入示例

select * into 表 from ITSV.數(shù)據(jù)庫(kù)名.dbo.表名

--以后不再使用時(shí)刪除鏈接服務(wù)器

exec sp_dropserver 'ITSV','droplogins'

--連接遠(yuǎn)程/局域網(wǎng)數(shù)據(jù)(openrowset/openquery/opendatasource)

--1、openrowset

--查詢示例

select * from openrowset('SQLOLEDB','sql服務(wù)器名';'用戶名';'密碼',數(shù)據(jù)庫(kù)名.dbo.表名)

--生成本地表

select * into 表 from openrowset('SQLOLEDB','sql服務(wù)器名';'用戶名';'密碼',數(shù)據(jù)庫(kù)名.dbo.表名)

--把本地表導(dǎo)入遠(yuǎn)程表

insert openrowset('SQLOLEDB','sql服務(wù)器名';'用戶名';'密碼',數(shù)據(jù)庫(kù)名.dbo.表名)

select *from 本地表

--更新本地表

update b

set b.列A=a.列A

from openrowset('SQLOLEDB','sql服務(wù)器名';'用戶名';'密碼',數(shù)據(jù)庫(kù)名.dbo.表名)as a inner join 本地表 b

on a.column1=b.column1

--openquery用法需要?jiǎng)?chuàng)建一個(gè)連接

--首先創(chuàng)建一個(gè)連接創(chuàng)建鏈接服務(wù)器

exec sp_addlinkedserver 'ITSV','','SQLOLEDB','遠(yuǎn)程服務(wù)器名或ip地址'

--查詢

select *

FROM openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫(kù).dbo.表名')

--把本地表導(dǎo)入遠(yuǎn)程表

insert openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫(kù).dbo.表名')

select * from 本地表

--更新本地表

update b

set b.列B=a.列B

FROM openquery(ITSV, 'SELECT * FROM 數(shù)據(jù)庫(kù).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

--把本地表導(dǎo)入遠(yuǎn)程表

insert opendatasource('SQLOLEDB', 'Data Source=ip/ServerName;User ID=登陸名password=密碼').數(shù)據(jù)庫(kù).dbo.表名

select * from 本地表

用 鏈接服務(wù)器

OPENROWSET

OPENDATASOURCE

都可以

鏈接服務(wù)器.database1.dbo.table1

鏈接服務(wù)器.database1.dbo.table1

SQL code

select * into #

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

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

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)