Microsoft OLE DB Remoting Provider 允許在客戶端機器上的本地用戶調(diào)用遠程計算機上的數(shù)據(jù)提供者。如果您是遠程計算機上的本地用戶,可指定遠程計算機的數(shù)據(jù)提供者參數(shù)。然后指定由遠程數(shù)據(jù)提供者使用的參數(shù)來訪問遠程計算機。最終結(jié)果是使您象本地用戶一樣訪問遠程計算機。
提供者關鍵字
要調(diào)用 OLE DB Remoting Provider,請在連接字符串中指定如下的關鍵字和值。(注意提供者名稱中的空格。)
"Provider=MS Remote"
其他關鍵字
當調(diào)用該服務提供者時,將涉及如下關鍵字。
關鍵字 |
說明 |
Data Source |
指定遠程數(shù)據(jù)源的名稱。它將被傳遞到 OLE DB Remoting Provider 進行處理。 該關鍵字等同于 RDS.DataControl 對象 Connect 屬性。 |
動態(tài)屬性
當調(diào)用該服務提供者時,會將如下動態(tài)屬性添加到 Connection 對象的 Properties 集合中。
動態(tài)屬性名稱 |
說明 |
||||||
DFMode |
指示 DataFactory Mode。該字符串指定服務器上所需的 DataFactory 對象版本。在打開請求特定版本的 DataFactory 的連接之前,請設置該屬性。如果無法得到請求的版本,將嘗試使用以前版本。如果沒有以前版本,將出現(xiàn)錯誤。在連接之后,該屬性是只讀的。 可以是下列有效字符串值:
|
||||||
Current DFMode |
指示服務器上 DataFactory 的實際版本號。檢查該屬性以便查看在 DFMode 屬性中請求的版本是否可以得到。 可以是如下可用的 Long 整數(shù)值中的一個:
|
||||||
Handler |
字符串值。指示服務器端用于擴展 RDSServer.DataFactory 函數(shù)的自定義程序(即處理程序)的名稱,以及處理程序所使用的任意參數(shù),各項使用逗號分隔(",")。 |
||||||
Internet Timeout |
指示等待請求傳輸?shù)椒掌鞑⒎祷厮璧淖铋L時間。(按毫秒計算,默認值是 5 分鐘。) |
||||||
Remote Provider |
指示用于遠程服務器的數(shù)據(jù)提供者的名稱。 |
||||||
Remote Server |
指示要用于該連接的服務器名和通信協(xié)議。該屬性等同于 RDS.DataControl 對象 Server 屬性。 |
通過在連接字符串中將可寫入動態(tài)屬性的名稱指定為關鍵字,也可以設置可寫入動態(tài)屬性。例如,通過以下指定將 Internet Timeout 動態(tài)屬性設置為 5 秒鐘:
Dim cn as New ADODB.Connection
cn.Open "Provider=MS Remote;Internet Timeout=5000"
通過將動態(tài)屬性的名稱指定為 Properties 屬性的索引,也可設置或檢索動態(tài)屬性。例如,獲得和打印 Internet Timeout 動態(tài)屬性的當前值,然后設置新值,如:
Debug.Print cn.Properties("Internet Timeout")
cn.Properties("Internet Timeout") = 5000
說明
在 ADO 2.0 中,OLE DB Remoting Provider 僅能在 Recordset 對象 Open 方法的 ActiveConnection 參數(shù)中指定。從 ADO 2.1 開始,也可以在 Connection 對象 Open 方法的 ConnectionString 參數(shù)中指定。
沒有 RDS.DataControl 對象的 SQL 屬性的等同設置。由 Recordset 對象 Open 方法 Source 參數(shù)代替。
舉例
這個例子在稱為 YourServer 的服務器上,執(zhí)行對公用數(shù)據(jù)庫創(chuàng)建者表的查詢。在 Connection 對象的 Open 方法中提供遠程數(shù)據(jù)源和遠程服務器的名稱,并在 Recordset 對象的 Open 方法中指定 SQL 查詢。Recordset 對象將被返回、編輯、并用來更新數(shù)據(jù)源。
Dim rs as New ADODB.Recordset
Dim cn as New ADODB.Connection
cn.Open "Provider=MS Remote;Data Source=pubs;" & _
"Remote Server=http://YourServer"
rs.Open "SELECT * FROM authors", cn
... 'Edit the recordset
rs.UpdateBatch 'Equivalent of RDS SubmitChanges
...