SQL Server連結其他資料庫伺服器的方法

來源:互聯網
上載者:User
在實際應用中經常碰到要對兩個資料庫(不在同一台主機上)進行關聯操作,在Oracle中提供了這種機制,可以連結其他主機上的Oracle資料庫。
同樣的在SQL Server2005中也可以連結到其他的SQL Server資料庫,並且通過Ole DB還可以連結到Oracle、Sybase等其他不同的資料庫,方便使用者的操作和維護。

在Microsoft SQL Server Management Studio的工具中提供了圖形介面的操作:

 不過其中的一些參數的填寫比較麻煩,我這裡就以連結SQL Server和Oracle為例說一下
(命令的方式,只列出最簡單的命令,對一些可有可無的屬性的設定我把它去掉了)

1、連結SQL Server 資料庫
這個是相對簡單的。參見如下的sql語句USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'DBSERVER', @srvproduct=N'SQL Server'
GO
USE [master]
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'DBSERVER', @locallogin = N'sa', @useself = N'False', @rmtuser = N'sa', @rmtpassword = N'1'
GO

主要就是調用了兩個預存程序:
sp_addlinkedserver是加入資料庫連結,其中server的參數是另外一台SQL Server伺服器的名稱
sp_addlinkedsrvlogin是加入對應的遠端資料庫的使用者名稱,rmtuser和rmtpassword是遠端資料庫的使用者名稱和密碼

下面就可以直接在本地查詢遠端資料庫的表了: select * from [DBSERVER].[helpdesk].[dbo].[Messages];

2、連結Oracle資料庫
要連結Oracle資料庫,首先要在本地安裝Oracle的用戶端,並且配置好Oracle的別名(別名的配置我這裡就不多說了,很簡單的)
然後同樣的調用上面的兩個預存程序:USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'GSPRING', @srvproduct=N'Oracle', @provider=N'MSDAORA', @datasrc=N'gspring'
GO
USE [master]
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'GSPRING', @locallogin = N'sa', @useself = N'False', @rmtuser = N'user1', @rmtpassword = N'1'
GO

其中server是連結資料庫的名稱,datasrc是本地配置的oracle的別名。

下面就可以直接在本地查詢遠程oracle資料庫的表了:select * from [GSPRING]..[user1].[table1];

其中user1是table1表的owner
要注意的就是SqlServer中訪問一張表的全路徑是四層,那麼訪問oracle時對於沒有的要用一個空的.代替

其他:
1、本地配置的所有連結可以在sysservers表中查到:select * from sys.sysservers;

2、訪問遠端資料庫表時也可以先在本地建一個同義字,然後就可以像在本地一樣的訪問了:USE [master]
GO
CREATE SYNONYM [dbo].[linktable] FOR [DBSERVER].[helpdesk].[dbo].[Messages];
GO

select * from linktable;

3、在配置oracle時如果出現其他錯誤,請參見微軟的解決方案(我配置過程中一個問題都沒有出現,難道是我RP太好了):http://support.microsoft.com/kb/280106/zh-cn

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.