Microsoft KB Archive/165804

= INFO: Comparing RDS Technology to RDO and DAO =

Article ID: 165804

Article Last Modified on 3/2/2005

-

APPLIES TO


 * Microsoft Internet Information Server 3.0
 * Microsoft Internet Information Server 4.0
 * Microsoft Remote Data Services 1.5
 * Remote Data Service for ADO 2.0
 * Microsoft Remote Data Services 2.1

-



This article was previously published under Q165804



SUMMARY
NOTE: With version 1.5, the Remote Data Service (RDS) was renamed and merged with ActiveX Data Objects (ADO) to provide data remoting within the same programming model as ADO. Formerly, the Remote Data Service was known as the Advanced Data Connector (ADC). To clarify the relationship of ADC to ADO, ADC is now known as the Remote Data Service (RDS), a feature of ADO Web Data Access Feature of the ActiveX Data Objects (ADO). Q. Is the Remote Data Service superior to RDO and DAO in getting at SQL data in a client-server application?

A. RDO and DAO are designed for a persistent sockets/pipes connection to  your database server. The Remote Data Service (RDS) works disconnected through HTTP over your intranet or the Internet through firewalls. RDS also works over the Distributed Component Object Model (DCOM) but this discussion focuses on HTTP.

RDS passes a disconnected recordset to the client. This is a completely stateless model, which means the server could actually be shut down and restarted between RDS client requests. This is done through a Mime64 encoded Advanced Data Tablegram (ADTG) passed to the client, which then opens it and loads it into a client-side Virtual Table Manager (VTM). At      this time the client can walk the recordset, perform updates, and send the changes back to the server for base table updates.

RDO and DAO work in-process on the local computer or possibly over a LAN through DCOM if you wrap their functionality in a Visual Basic ActiveX EXE. Currently DCOM does not support transport over HTTP so it is   impossible to pass a recordset through a firewall. Attempting to marshal a recordset and its interfaces over DCOM to the client is also unacceptably slow and will ultimately fail. Your alternative is to pass the recordset from the server to the client as a variant array (GetRows), which works well, but is very primitive compared to RDS technology.

RDS also provides the support necessary to bind to data-aware OCXs in  Microsoft Internet Explorer version 3.0 and later, support that is not built into Internet Explorer 3.0. This data binding functionality is   very similar to the Visual Basic Data Control and Remote Data Control, which require very little or no code.

