由于最近開(kāi)發(fā)的一個(gè)查詢系統(tǒng),基本是在其它服務(wù)器的,所以在本地服務(wù)器設(shè)計(jì)了中間,用來(lái)存從遠(yuǎn)程服務(wù)器取數(shù)據(jù)!
    一種方法是通過(guò),opendatasource來(lái)遠(yuǎn)程讀取數(shù)據(jù)!
select   *
from      opendatasource(
         'sqloledb',
         'data source=servername;user id=myuid;password=mypass'
         ).northwind.dbo.categories
但是遠(yuǎn)程的服務(wù)器不能確認(rèn),比較麻煩,如果要實(shí)現(xiàn),只有把連接信息保存到服務(wù)器,通過(guò)動(dòng)態(tài)sql(exec或sp_excute_sql來(lái)達(dá)到目的)
另一種方法就是添加鏈接服務(wù)器,
sp_addlinkedserver @server = n'鏈接服務(wù)器名',
    @srvproduct = n' ',
    @provider = n'sqloledb', 
    @datasrc = n'遠(yuǎn)程服務(wù)器ip', 
添加鏈接服務(wù)器登錄
sp_addlinkedsrvlogin [ @rmtsrvname = ] '鏈接服務(wù)器名'
    [ , [ @useself = ] 'false' ]
    [ , [ @locallogin = ] '本地登錄名' ]
    [ , [ @rmtuser = ] '遠(yuǎn)程登錄名' ]
    [ , [ @rmtpassword = ] '遠(yuǎn)程密碼' ]
這樣訪問(wèn)遠(yuǎn)程服務(wù)器的就可以通過(guò)sql
select * from 鏈接服務(wù)器名.遠(yuǎn)程數(shù)據(jù)名.遠(yuǎn)程所有者.遠(yuǎn)程表名
不用管遠(yuǎn)程服務(wù)器的地址所登錄名,只能鏈接服務(wù)器名,不變,正式發(fā)裝時(shí),不能修改程序!
 
新聞熱點(diǎn)
疑難解答
圖片精選