Using the Remoting Provider with Other Providers

Important note Important

This feature will be removed in a future version of Windows. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Applications should instead use WCF Data Service.

The OLE DB Remoting Provider is an integral component in obtaining rowset data from another process or computer. It works only in conjunction with your data provider. To retrieve data across those boundaries, it uses two other OLE DB service providers: the OLE DB Persistence Provider and the Cursor Service for OLE DB.

The OLE DB Persistence Provider can save a recordset into a binary stream. It can also create a recordset from a binary stream of data. The Remoting Provider uses the OLE DB Persistence Provider to marshal recordsets by value over process/machine boundaries. RDS obtains an IStream interface from the underlying communication protocol (DCOM or HTTP), and the recordset is persisted into that stream to be received at the other end.

The client Cursor Service provides a client-side manipulation of result sets both in two-tier and in three-tier scenarios. The Cursor Service buffers remoted recordsets in its temporary table structures. This data is exposed as an OLE DB rowset implemented on top of a static, client-side cursor. The Cursor Service also maintains client updates in its cache. It can interact with the OLE DB Persistence Provider to marshal the rowset across process/machine boundaries. It also submits updates to underlying OLE DB providers and obtains status information for the updates, but only for SQL-based OLE DB data providers. The Cursor Service's update function uses an SQL query?based update mechanism. Through the synchronization functionality, it reconciles the status information about the individual rows submitted for update with the original rowset.

using the OLE DB Persistence Provider remotely