Sql Server下數據庫鏈接的使用方法

  有時候我們希望在一個sqlserver下訪問另一個sqlserver數據庫上的數據,或者訪問其他oracle數據庫上的數據,要想完成這些操作,我們首要的是創建數據庫鏈接。

  數據庫鏈接能夠讓本地的一個sqlserver登錄用戶映射到遠程的一個數據庫服務器上,並且像操作本地數據庫一樣。那麼怎麼創建數據庫鏈接呢?我現在有兩種方法可以實現。

  第一種:在 sqlserver 企業管理器中,建立,這個比較簡單的,首先在 安全性--〉數據庫鏈接 上點右鍵 ,在出現的菜單中點 新建數據庫鏈接 ,然後會彈出一個界面,需要我們填寫的有:鏈接服務器(這是一個名字,自己根據情況自行定義,以後就要通過他進行遠程訪問了),提供程序名稱(這個就是選擇數據驅動,根據數據庫類型來選擇,不能亂選,否則鏈接不上的),數據源(對於sqlserver就是遠程數據庫服務器的主機名或者IP,對於 oracle 就是在 oracle net config 中配置的別名),安全上下文用戶和口令(也就是遠程服務器的用戶和口令)。

  第二種:利用系統存儲過程

  創建一個sqlserver對sqlserver的數據庫鏈接:

exec sp_addlinkedserver  'link_northsnow','','SQLOLEDB','遠程服務器主機名或域名或ip地址'
exec sp_addlinkedsrvlogin 'link_northsnow','false',null,'用戶名','用戶口令'

  創建一個sqlserver對Oracle的數據庫鏈接:

exec sp_addlinkedserver 'link_ora', 'Oracle', 'MSDAORA', 'oracle數據庫服務器別名'
exec sp_addlinkedsrvlogin 'link_ora', false, 'sa', '用戶名', '用戶口令'

  有了數據庫鏈接我們就可以使用了。對於sqlserver和oracle中的使用方法是有區別的。

  對於sqlserver:

 create view v_lhsy_user as select * from link_northsnow.lhsy.dbo.sys_user
 select * from v_lhsy_user
其中lhsy爲遠程的數據庫名
sys_user爲表名

  對於 oracle:

create view vvv as select * from link_ora..NORTHSNOW.SYS_USER
select * from vvv;
其中northsnow爲遠程oracle數據庫服務器的一個用戶名,SYS_USER爲該用戶在該服務器上的一個表,要非常注意的是:數據庫鏈接(link_ora)後面有兩個點(..),再往後面必須全部大寫,查詢的對象一般爲表格或者視圖,不能查詢同義詞。

  要想刪除數據庫鏈接,也有兩種方法,

  一種是在企業管理器中操作,這個簡單。

  另一種是用系統存儲過程:

  exec sp_dropserver  數據庫鏈接名稱,'droplogins'

  終於寫完了,感興趣的請留言 或 email me:[email protected]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章