在SQL Server下使用數(shù)據(jù)庫鏈接
導讀:SQL Server隨著技術的發(fā)展進步,技術上有了很大的革新,數(shù)據(jù)庫鏈接能夠讓本地的一個SQL Server登錄用戶映射到遠程的一個數(shù)據(jù)庫服務器上,并且像操作本地數(shù)據(jù)庫一樣。那么怎么創(chuàng)建數(shù)據(jù)庫鏈接呢?本文將會為大家介紹在SQL Server下使用數(shù)據(jù)庫鏈接的方法。
某些情況下:我們希望在一個SQL Server下訪問另一個sqlserver數(shù)據(jù)庫上的數(shù)據(jù),或者訪問其他oracle數(shù)據(jù)庫上的數(shù)據(jù),要想完成這些操作,我們首要的是創(chuàng)建數(shù)據(jù)庫鏈接。
數(shù)據(jù)庫鏈接能夠讓本地的一個SQLserver登錄用戶映射到遠程的一個數(shù)據(jù)庫服務器上,并且像操作本地數(shù)據(jù)庫一樣。那么怎么創(chuàng)建數(shù)據(jù)庫鏈接呢?我現(xiàn)在有兩種方法可以實現(xiàn)。
***種:在SQL Server 企業(yè)管理器中,建立,這個比較簡單的,首先在 安全性--〉數(shù)據(jù)庫鏈接 上點右鍵 ,在出現(xiàn)的菜單中點 新建數(shù)據(jù)庫鏈接 ,然后會彈出一個界面,需要我們填寫的有:鏈接服務器(這是一個名字,自己根據(jù)情況自行定義,以后就要通過他進行遠程訪問了),提供程序名稱(這個就是選擇數(shù)據(jù)驅(qū)動,根據(jù)數(shù)據(jù)庫類型來選擇,不能亂選,否則鏈接不上的),數(shù)據(jù)源(對于SQL server就是遠程數(shù)據(jù)庫服務器的主機名或者IP,對于 oracle 就是在 oracle net config 中配置的別名),安全上下文用戶和口令(也就是遠程服務器的用戶和口令)。
第二種:利用系統(tǒng)存儲過程
創(chuàng)建一個SQL Server對sqlserver的數(shù)據(jù)庫鏈接:
以下是引用片段:
exec sp_addlinkedserver 'link_northsnow','', 'SQLOLEDB','遠程服務器主機名或域名或ip地址'
exec sp_addlinkedsrvlogin 'link_northsnow',' false',null,'用戶名','用戶口令'
創(chuàng)建一個SQL server對Oracle的數(shù)據(jù)庫鏈接:
以下是引用片段:
exec sp_addlinkedserver 'link_ora', 'Oracle', 'MSDAORA', 'oracle數(shù)據(jù)庫服務器別名'
exec sp_addlinkedsrvlogin 'link_ora', false, 'sa', '用戶名', '用戶口令'
有了數(shù)據(jù)庫鏈接我們就可以使用了。對于sqlserver和oracle中的使用方法是有區(qū)別的。
對于SQL server:
以下是引用片段:
create view v_lhsy_user as select * from link_northsnow.lhsy.dbo.sys_user select * from v_lhsy_user
其中l(wèi)hsy為遠程的數(shù)據(jù)庫名
sys_user為表名
對于Oracle:
以下是引用片段:
create view vvv as select * from link_ora..NORTHSNOW.SYS_USER select * from vvv;
其中northsnow為遠程oracle數(shù)據(jù)庫服務器的一個用戶名,SYS_USER為該用戶在該服務器上的一個表,要非常注意的是:數(shù)據(jù)庫鏈接(link_ora)后面有兩個點(..),再往后面必須全部大寫,查詢的對象一般為表格或者視圖,不能查詢同義詞。
要想刪除數(shù)據(jù)庫鏈接,也有兩種方法,
一種方法是在企業(yè)管理器中操作。
另一種是用系統(tǒng)存儲過程:
以下是引用片段:
exec sp_dropserver
數(shù)據(jù)庫鏈接名稱,'droplogins'
上文中詳細介紹了在SQL Server中實現(xiàn)數(shù)據(jù)庫鏈接的方法,希望大家都能很熟練的掌握,便于大家在以后的工作中應用,同樣,文中還簡單介紹了刪除數(shù)據(jù)庫鏈接的方法,萬一大家鏈接錯誤了,還可以及時更改過來,希望上文中介紹的內(nèi)容能夠?qū)Υ蠹矣兴鶐椭?/p>
【編輯推薦】