亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

在T-SQL語句中訪問遠程數據庫(openrowset/opendatasource/openquery)

2024-07-21 02:47:57
字體:
來源:轉載
供稿:網友
在T-SQL語句中訪問遠程數據庫(openrowset/opendatasource/openquery)

1.openrowset/opendatasource使用

在使用openrowset/opendatasource前搜先要啟用Ad Hoc Distributed Queries服務,因為這個服務不安全所以SqlServer默認是關閉的

啟用Ad Hoc Distributed Queries的方法

SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource'

的訪問,因為此組件已作為此服務器安全配置的一部分而被關閉。系統管理員可以通過使用

sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細

信息,請參閱 SQL Server 聯機叢書中的 "外圍應用配置器"。

啟用Ad Hoc Distributed Queries的方法,執行下面的查詢語句就可以了:

exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigure

使用完畢后,記得一定要要關閉它,因為這是一個安全隱患,切記執行下面的SQL語句

exec sp_configure 'Ad Hoc Distributed Queries',0reconfigureexec sp_configure 'show advanced options',0reconfigure 

2、openrowset/opendatasource使用示例

--連接遠程/局域網數據(openrowset/opendatasource) --1、openrowset --openrowset使用OLEDB的一些例子select * from openrowset('SQLOLEDB','Server=(local);PWD=***;UID=sa;','select * from TB.dbo.school') as tselect * from openrowset('SQLOLEDB','Server=(local);PWD=***;UID=sa;',TB.dbo.school) as tselect * from openrowset('SQLOLEDB','Server=(local);Trusted_Connection=yes;',TB.dbo.school) as tselect * from openrowset('SQLOLEDB','(local)';'sa';'***','select * from TB.dbo.school') as tselect * from openrowset('SQLOLEDB','(local)';'sa';'***',TB.dbo.school) as tselect * from openrowset('SQLOLEDB','(local)';'sa';'***','select school.id as id1,people.id as id2 from TB.dbo.school inner join TB.dbo.people on school.id=people.id') as t--openrowset使用SQLNCLI的一些例子(SQLNCLI在SqlServer2005以上才能使用)select * from openrowset('SQLNCLI','(local)';'sa';'***','select * from TB.dbo.school') as tselect * from openrowset('SQLNCLI','Server=(local);Trusted_Connection=yes;','select * from TB.dbo.school') as tselect * from openrowset('SQLNCLI','Server=(local);UID=sa;PWD=***;','select * from TB.dbo.school') as tselect * from openrowset('SQLNCLI','Server=(local);UID=sa;PWD=***;',TB.dbo.school) as tselect * from openrowset('SQLNCLI','Server=(local);UID=sa;PWD=***;DataBase=TB','select * from dbo.school') as t--openrowset其他使用insert openrowset('SQLNCLI','Server=(local);Trusted_Connection=yes;','select name from TB.dbo.school where id=1') values('ghjkl')/*要不要where都一樣,插入一行*/update openrowset('SQLNCLI','Server=(local);Trusted_Connection=yes;','select name from TB.dbo.school where id=1') set name='kkkkkk'delete from openrowset('SQLNCLI','Server=(local);Trusted_Connection=yes;','select name from TB.dbo.school where id=1')--2、opendatasource--opendatasource使用SQLNCLI的一些例子select * from opendatasource('SQLNCLI','Server=(local);UID=sa;PWD=***;').TB.dbo.school as tselect * from opendatasource('SQLNCLI','Server=(local);UID=sa;PWD=***;DataBase=TB').TB.dbo.school as t--opendatasource使用OLEDB的例子select * from opendatasource('SQLOLEDB','Server=(local);Trusted_Connection=yes;').TB.dbo.school as t--opendatasource其他使用insert opendatasource('SQLNCLI','Server=(local);Trusted_Connection=yes;').TB.dbo.school(name) values('ghjkl')/*要不要where都一樣,插入一行*/update opendatasource('SQLNCLI','Server=(local);Trusted_Connection=yes;').TB.dbo.school set name='kkkkkk'delete from opendatasource('SQLNCLI','Server=(local);Trusted_Connection=yes;').TB.dbo.school where id=1

3、openquery使用

先執行EXEC sp_addlinkedserver創建遠程服務器的鏈接,再執行Exec sp_droplinkedsrvlogin登錄鏈接上的遠程服務器,之后就可以執行各種sql操作了。

--EXEC sp_addlinkedserver --@server='ZYB',--被訪問的服務器別名 --@srvPRoduct='', --@provider='SQLOLEDB', --@datasrc="/Server2" --要訪問的服務器 --EXEC sp_addlinkedsrvlogin --'ZYB', --被訪問的服務器別名 --'false', --NULL, --'sa', --帳號 --'sa' --密碼 --Exec sp_droplinkedsrvlogin ZYB,Null --刪除映射(錄與鏈接服務器上遠程登錄之間的映射) --Exec sp_dropserver ZYB --刪除遠程服務器鏈接 

4、openquery使用示例

--openquery使用OLEDB的一些例子exec sp_addlinkedserver   'ITSV', '', 'SQLOLEDB','(local)' exec sp_addlinkedsrvlogin 'ITSV', 'false',null, 'sa', '***'select * FROM openquery(ITSV,  'SELECT *  FROM TB.dbo.school ') exec sp_droplinkedsrvlogin ITSV,Nullexec sp_dropserver ITSV--openquery使用SQLNCLI的一些例子exec sp_addlinkedserver   'ITSVA', '', 'SQLNCLI','(local)' exec sp_addlinkedsrvlogin 'ITSVA', 'false',null, 'sa', '***'select * FROM openquery(ITSVA,  'SELECT *  FROM TB.dbo.school ') exec sp_droplinkedsrvlogin ITSVA,Nullexec sp_dropserver ITSVA

另外一種方法,是直接使用創建的鏈接別名:

exec sp_addlinkedserver   'ITSV', '', 'SQLOLEDB','(local)' exec sp_addlinkedsrvlogin 'ITSV', 'false',null, 'sa', '***'select * FROM ITSV.TB.dbo.schoolexec sp_droplinkedsrvlogin ITSV,Nullexec sp_dropserver ITSV

5、總結

可以看到SqlServer連接多服務器的方式有3種

其中我個人認為openrowset最好,使用簡單而且支持在連接時制定查詢語句使用很靈活

openquery也不錯查詢時也可以指定查詢語句使用也很靈活,不過查詢前要先用exec sp_addlinkedserver和exec sp_addlinkedsrvlogin建立服務器和服務器連接稍顯麻煩

opendatasource稍顯欠佳,他無法在連接時指定查詢使用起來稍顯笨拙

另外還可以連接到遠程Analysis服務器做MDX查詢,再用T-Sql做嵌套查詢,可見T-SQL的遠程查詢非常強大

轉自:http://www.cnblogs.com/OpenCoder/archive/2010/03/18/1689321.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产天堂网精品网站| 色偷偷噜噜噜亚洲男人的天堂| 午夜精品美女自拍福到在线| 亚洲va国产va天堂va久久| 欧美久久久精品| 自拍偷拍免费精品| 亚洲高清一二三区| 69av在线播放| 欧美在线亚洲一区| 97色伦亚洲国产| 亚洲国产99精品国自产| 国产精品视频26uuu| 欧美视频免费在线观看| 亚洲精选中文字幕| 亚洲三级黄色在线观看| 欧美在线观看网站| 久久视频在线免费观看| 久久亚洲精品一区二区| 91av国产在线| 一区二区三区高清国产| 国产精品v片在线观看不卡| 中文字幕最新精品| 亚洲国产美女久久久久| 亚洲成人激情小说| 欧美理论片在线观看| 欧美成人全部免费| 亚洲视频专区在线| 成人性生交大片免费看小说| 97色在线视频| 亚洲欧洲在线视频| 欧美日韩国产麻豆| 欧美日韩中文字幕| 久久精品中文字幕电影| 久久99亚洲精品| 精品偷拍各种wc美女嘘嘘| 欧美孕妇毛茸茸xxxx| 欧美精品激情在线观看| 55夜色66夜色国产精品视频| 97视频在线观看播放| 不卡中文字幕av| 亚洲精品国产电影| 久久99视频免费| 欧美日韩亚洲精品内裤| 91精品在线观看视频| 国产成人av网址| 久久夜色撩人精品| 色综合伊人色综合网站| 欧美在线国产精品| 中文字幕日韩电影| 亚洲欧洲黄色网| 另类专区欧美制服同性| 日韩精品极品毛片系列视频| 日本精品一区二区三区在线| 成人444kkkk在线观看| 亚洲免费福利视频| 国产成人97精品免费看片| 久久五月天综合| 日韩精品中文字幕视频在线| 激情成人中文字幕| 成人xxxx视频| 日韩欧美国产一区二区| 国产在线久久久| 日韩国产一区三区| 欧美日韩国产黄| 成人精品一区二区三区电影免费| 日本精品视频网站| 久久手机免费视频| 中文字幕不卡在线视频极品| 欧美日韩免费在线观看| 国产噜噜噜噜噜久久久久久久久| 成人福利视频网| 久久影视电视剧免费网站| 国产偷国产偷亚洲清高网站| 91亚洲午夜在线| 中文国产成人精品久久一| 国产精品美女久久久久av超清| 亚洲一级免费视频| 色阁综合伊人av| 欧美亚洲另类激情另类| 91国产一区在线| 欧美成人精品在线视频| 亚洲第一国产精品| 国产成人综合久久| 日韩美女av在线免费观看| 亚洲福利视频在线| 中国人与牲禽动交精品| 国产精品丝袜高跟| 91精品国产91久久久久久久久| 欧美中文字幕在线视频| 欧美日韩美女在线| 成人激情免费在线| 国产精品福利网站| 欧美一级在线亚洲天堂| 青草青草久热精品视频在线网站| 日韩av影片在线观看| 国产视频久久久久久久| 国产va免费精品高清在线| 色777狠狠综合秋免鲁丝| 精品久久久久久久久久国产| 久久久久久久一区二区| 亚洲精品国产精品久久清纯直播| 中文字幕亚洲综合久久| 欧美成人性色生活仑片| 国产成人高潮免费观看精品| 国产自产女人91一区在线观看| 亚洲免费人成在线视频观看| 日韩三级成人av网| 欧美激情中文字幕在线| 欧美伊久线香蕉线新在线| 欧美尤物巨大精品爽| 国产精品白嫩初高中害羞小美女| 亚洲精品v欧美精品v日韩精品| 欧美在线视频在线播放完整版免费观看| 亚洲毛片在线观看| 日韩女优在线播放| 国产成人高清激情视频在线观看| 性欧美视频videos6一9| 这里只有精品在线播放| 成人免费视频a| 欧美乱人伦中文字幕在线| 欧美一区二区三区艳史| 91精品久久久久久久| 91精品国产综合久久香蕉的用户体验| 久久精品成人欧美大片古装| 亚洲成人精品视频在线观看| 久久成年人免费电影| 久久久伊人日本| 久久久久久国产三级电影| 国产精品爽爽爽爽爽爽在线观看| 琪琪亚洲精品午夜在线| 精品亚洲一区二区| 91精品久久久久久综合乱菊| 亚洲欧美日韩精品| 欧美老女人bb| 日韩毛片中文字幕| 97国产成人精品视频| 日韩亚洲一区二区| 欧美大尺度激情区在线播放| 亚洲天堂av网| 久久综合免费视频影院| 国产日韩av高清| 91在线视频九色| 国产91av在线| 欧美激情精品久久久久久大尺度| 亚洲激情 国产| 亚洲午夜久久久久久久| 操日韩av在线电影| 亚洲精品永久免费精品| 成人97在线观看视频| 97久久精品人搡人人玩| 亚洲毛片在线观看.| 欧美激情免费视频| 国产精品午夜国产小视频| 久久91精品国产91久久跳| 久久精品国产一区二区电影| 精品亚洲国产视频| 亚洲人成在线电影| 91美女高潮出水| 在线成人一区二区| 日本精品中文字幕| 亚洲精品第一页| 亚洲成人激情小说| 亚洲热线99精品视频| 亚洲黄页视频免费观看|