程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SqlServer跨服務器查詢解決方案

SqlServer跨服務器查詢解決方案

編輯:關於SqlServer
OPENROWSET
包含訪問 OLE DB 數據源中的遠程數據所需的全部連接信息。當訪問鏈接服務器中的表時,這種方法是一種替代方法,並且是一種使用 OLE DB 連接並訪問遠程數據的一次性的、特殊的方法。可以在查詢的 FROM 子句中像引用表名那樣引用 OPENROWSET 函數。依據 OLE DB 提供程序的能力,還可以將 OPENROWSET 函數引用為 INSERT、UPDATE 或 DELETE 語句的目標表。盡管查詢可能返回多個結果集,然而 OPENROWSET 只返回第一個
 
語法
OPENROWSET ( 'provider_name'
    , { 'datasource' ; 'user_id' ; 'passWord'
        | 'provider_string' }
    , { [ catalog.] [ schema.] object
        | 'query' }
    )
參數
'provider_name'
字符串,它代表在注冊表中指定的 OLE DB 提供程序的友好名。provider_name 沒有默認值。
'datasource'
字符串常量,它對應著某個特定的 OLE DB 數據源。datasource 是將被傳遞到提供程序 IDBPropertIEs 接口以初始化提供程序的 DBPROP_INIT_DATASOURCE 屬性。通常,這個字符串包含數據庫文件的名稱、數據庫服務器的名稱,或者提供程序能理解的用於查找數據庫的名稱。
'user_id'
字符串常量,它是傳遞到指定 OLE DB 提供程序的用戶名。user_id 為連接指定安全上下文,並將它作為 DBPROP_AUTH_USERID 屬性傳遞進來以初始化提供程序。
'passWord'
字符串常量,它是將被傳遞到 OLE DB 提供程序的用戶密碼。當初始化提供程序時,將 password 作為 DBPROP_AUTH_PASSWord 屬性傳遞進來。
'provider_string'
提供程序特定的連接字符串,將它作為 DBPROP_INIT_PROVIDERSTRING 屬性傳遞進來以初始化 OLE DB 提供程序。通常 provider_string 封裝初始化提供程序所需的所有連接信息。
catalog
目錄或數據庫的名稱,其中駐留著指定的對象。
schema
架構的名稱或指定對象的對象所有者名稱。
object
對象名稱,它唯一地標識出將要操作的對象。
'query'
是字符串常量,發送到提供程序並由提供程序執行。Microsoft? SQL Server? 不處理該查詢,但處理由提供程序返回的查詢結果(直接傳遞查詢)。對於有些提供程序,它們並沒有通過表名而是通過命令語言表現自己的表格格式數據,那麼將直接傳遞查詢用於這些提供程序是非常有用的。只要查詢提供程序支持 OLE DB Command 對象及其強制接口,那麼在遠程服務器上就支持直接傳遞查詢。有關更多信息,請參見 SQL Server OLE DB 程序員參考。
 
示例:
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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved