線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1231
推到 Plurk!
推到 Facebook!

如何在MS SQL 2000 sp3資料庫下,在不同伺服器的資料庫查詢資料?

缺席
Wesly
中階會員


發表:14
回覆:103
積分:53
註冊:2002-05-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-06 13:41:37 IP:163.23.xxx.xxx 未訂閱
假設狀況如 1.二台資料庫伺服器。 2.為MS SQL 2000 sp3,內部資料庫及表格名稱相同,儲存資料不同。 是否有辦法在不同資料庫取出資料做查詢。 我在網路曾查到"分散式資料查詢",但不是很清礎,請教網路上的先進,是否能提供一個方向?
Tony-Tang
一般會員


發表:7
回覆:17
積分:9
註冊:2003-10-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-06 16:29:32 IP:61.219.xxx.xxx 未訂閱
Wesly您好 假設有A、B兩台SQL Server,其查詢動作都在A執行,如要在A查詢B的資料, 可以在A連結伺服器(在SQL Server Enterprise Manager 安全性裡)中加入B, 其語法可以如下: B.DataBaseName.dbo.TableName B:伺服器名稱 DataBaseName:欲查詢之資料庫 TableName:欲查詢之資料表
Wesly
中階會員


發表:14
回覆:103
積分:53
註冊:2002-05-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-06 21:31:44 IP:220.140.xxx.xxx 未訂閱
謝謝Tony-Tang的指教, 但你所說的方法, 我也曾試過, 可能在Online的說明我沒有看的很仔細, 當初沒有測試成功, 但還是要謝謝你。 我又仔細看過,若在SQL Query Analyzer下做查詢,必須再執行一個 sp_addlinkedserver 如此就可以分散式查詢了,詳細說明請查看MS SQL 2000 Online Help,我認為基本上它可以查詢,主要是靠OLE DB的關係。 在此還是要謝謝你。
Cesar
一般會員


發表:0
回覆:3
積分:0
註冊:2003-05-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-07 08:50:10 IP:211.23.xxx.xxx 未訂閱
您好: 您可以在機器 A 試試以下的語法 可以直接存取機器 B 喔! SELECT * FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=[機器B的IP or 電腦名稱];User ID=[帳號];Password=[密碼]' ).[資料庫名稱].dbo.[TableName] 範例: SELECT * FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=Mis;User ID=sa;Password=mis' ).Mis1.dbo.product100
Cesar
一般會員


發表:0
回覆:3
積分:0
註冊:2003-05-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-07 08:50:43 IP:202.39.xxx.xxx 未訂閱
您好: 在 MS SQL 的線上說明書查詢 OPENDATASOURCE or OPENROWSET 也有相關說明 另一連結方式 以下範例使用 Microsoft OLE DB Provider for SQL Server,以存取命名為 seattle1 的遠端伺服器上 pubs 資料庫的 authors 資料表。從 datasource、user_id 與 password 初始化提供者,且使用 SELECT 來定義傳回的資料列集。 USE pubs GO SELECT a.* FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass', 'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS a GO 發表人 - Cesar 於 2004/12/07 09:00:42
系統時間:2024-06-02 19:43:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!