Share via


遠端資料存取架構

遠端資料存取 (RDA) 會使用 Microsoft SQL Server Compact 3.5 的三個元件:SQL Server Compact 3.5 資料庫引擎、SQL Server Compact 3.5 用戶端代理程式和 SQL Server Compact 3.5 伺服器代理程式。

RDA 使用 Microsoft Internet Information Services (IIS) 做為伺服器上 SQL Server 資料庫與裝置上 SQL Server Compact 3.5 資料庫之間的通訊機制。SQL Server Compact 3.5資料庫引擎、SQL Server Compact 3.5 用戶端代理程式及 SQL Server Compact 3.5 伺服器代理程式三者共同運作以完成 RDA,如下圖中所示。 

遠端資料存取 (RDA) 架構

SQL Server Compact 3.5 Database Engine

SQL Server Compact 3.5資料庫引擎 管理裝置上的 SQL Server 資料存放區。對於追蹤的提取作業,資料庫引擎 會藉由維護每個記錄少量的變更追蹤資訊,追蹤所有已插入、已更新或已刪除的資料庫記錄。如果索引存在於 SQL Server 資料上,RDA 也支援在本機資料上建立索引。

SQL Server Compact 3.5 Client Agent

位在裝置上的「SQL Server Compact 3.5 用戶端代理程式」是使用於 RDA 的主要元件。「用戶端代理程式」實作 RDA 物件介面,應用程式呼叫此介面,以程式設計的方式控制 RDA。

下表說明「SQL Server Compact 3.5 用戶端代理程式」回應 RDA 物件方法呼叫時採取的動作。

方法

動作

Pull

透過 HTTP 將要求轉送到「SQL Server Compact 3.5 伺服器代理程式」。當「SQL Server Compact 3.5 用戶端代理程式」收到來自 SQL Server 的資料錄集時,會將資料錄集儲存在 SQL Server Compact 3.5 資料庫中。

Push

從 SQL Server Compact 3.5 資料庫擷取所有已插入、已更新及已刪除的記錄,然後將這些記錄透過 HTTP 傳送到「SQL Server Compact 3.5 伺服器代理程式」。

SubmitSQL

透過 HTTP 將指定的 SQL 要求轉送到「SQL Server Compact 3.5 伺服器代理程式」。

SQL Server Compact 3.5 Server Agent

位在執行 IIS 之電腦上的「SQL Server Compact 3.5 伺服器代理程式」處理「SQL Server Compact 3.5 用戶端代理程式」發出的 HTTP 要求。並使用暫存訊息檔案(*.in 和 *.out)來管理 SQL Server 與 SQL Server Compact 3.5 之間的資料交換。

下表說明「SQL Server Compact 3.5 伺服器代理程式」回應 RDA 物件方法呼叫時採取的動作。

方法

動作

Pull

接收來自「SQL Server Compact 3.5 用戶端代理程式」的要求,透過 OLE DB Provider for SQL Server 連接到 SQL Server,並叫用用戶端的 SQL 陳述式。SQL Server Compact 3.5 伺服器代理程式會透過 HTTP 將結果資料錄集傳回給 SQL Server Compact 3.5 用戶端代理程式。

Push

從「SQL Server Compact 3.5 用戶端代理程式」接收所有已插入、已更新及已刪除的記錄,透過 OLE DB 連接到 SQL Server,並在 SQL Server 資料庫中插入、更新或刪除記錄。如果發生錯誤,「SQL Server Compact 3.5 伺服器代理程式」會透過 HTTP 將錯誤回報給「SQL Server Compact 3.5 用戶端代理程式」。

SubmitSQL

透過 HTTP 接收來自「SQL Server Compact 3.5 用戶端代理程式」的指定 SQL 要求,透過 OLE DB 連接到 SQL Server,並叫用用戶端的 SQL 陳述式。如果發生錯誤,「SQL Server Compact 3.5 伺服器代理程式」會透過 HTTP 將錯誤回報給「SQL Server Compact 3.5 用戶端代理程式」。