Compartir vía


Modelo detallado de programación de RDS

A continuación se muestran los elementos clave del modelo de programación de RDS:

  • RDS.DataSpace

  • RDSServer.DataFactory

  • RDS.DataControl

  • Evento

Importante

A partir de Windows 8 y Windows Server 2012, los componentes del servidor RDS ya no se incluyen en el sistema operativo Windows (para obtener más información, consulte Windows 8 y la Guía de compatibilidad de Windows Server 2012, edición Cookbook). Los componentes de cliente de RDS se eliminarán en una versión futura de Windows. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Las aplicaciones que usan RDS deben migrar al servicio de datos WCF.

RDS.DataSpace

La aplicación cliente debe especificar el servidor y el programa de servidor que se va a invocar. A cambio, la aplicación recibe una referencia al programa de servidor y puede tratar la referencia como si fuera el propio programa de servidor.

El modelo de objetos de RDS incorpora esta funcionalidad con RDS.DataSpace.

El programa de servidor se especifica con un identificador de programa o ProgID. El servidor usa el ProgID y el registro de la máquina servidor para buscar información sobre el programa real que se va a iniciar.

RDS distingue internamente en función de si el programa de servidor está en un servidor remoto a través de Internet o en una intranet; un servidor en una red de área local; o no en un servidor en absoluto, sino en una biblioteca de vínculos dinámicos (DLL) local. Esta distinción determina cómo se intercambia información entre el cliente y el servidor y hace una diferencia tangible en el tipo de referencia devuelto a la aplicación cliente. Sin embargo, desde su punto de vista, esta distinción no tiene ningún significado especial. Todo lo que importa es que reciba una referencia de programa utilizable.

RDSServer.DataFactory

RDS proporciona un programa de servidor predeterminado que puede realizar una consulta SQL en el origen de datos y devolver un objeto Recordset o tomar un objeto Recordset y actualizar el origen de datos.

El modelo de objetos de RDS incorpora esta funcionalidad con el objeto RDSServer.DataFactory.

Además, este objeto tiene un método para crear un objeto Recordset vacío que se puede rellenar mediante programación (CreateRecordset) y otro método para convertir un objeto Recordset en una cadena de texto para crear una página web (ConvertToString).

Con ADO, puede invalidar parte del comportamiento estándar de conexión y comando de RDSServer.DataFactory con un controlador DataFactory y un archivo de personalización que contenga parámetros de conexión, comando y seguridad.

A veces, el programa de servidor se denomina objeto de negocio. Puede escribir su propio objeto de negocio personalizado que pueda realizar complicados acceso a datos, comprobaciones de validez, etc. Incluso al escribir un objeto de negocio personalizado, puede crear una instancia de un objeto RDSServer.DataFactory y usar algunos de sus métodos para realizar sus propias tareas.

RDS.DataControl

RDS proporciona un medio para combinar la funcionalidad de RDS.DataSpace y RDSServer.DataFactory, y también permiten que los controles visuales usen fácilmente el objeto Recordset devuelto por una consulta desde un origen de datos. RDS intenta, en el caso más común, hacer lo más posible para obtener acceso automáticamente a la información en un servidor y mostrarla en un control visual.

El modelo de objetos de RDS incorpora esta funcionalidad con RDS.DataControl.

RDS.DataControl tiene dos aspectos. Un aspecto pertenece al origen de datos. Si establece la información de comando y conexión mediante las propiedades Connect y SQL de RDS.DataControl, usará automáticamente RDS.DataSpace para crear una referencia al objeto RDSServer.DataFactory predeterminado. A continuación, RDSServer.DataFactory usará el valor de la propiedad Connect para conectarse al origen de datos, usar el valor de la propiedad SQL para obtener un objeto Recordset del origen de datos y devolver el objeto Recordset al RDS.DataControl.

El segundo aspecto pertenece a la presentación de información de Recordset devuelta en un control visual. Puede asociar un control visual con RDS.DataControl (en un proceso denominado enlace) y obtener acceso a la información del objeto Recordset asociado, mostrando los resultados de la consulta en una página web de Microsoft Internet Explorer. Cada RDS.DataControl enlaza un objeto Recordset, que representa los resultados de una sola consulta, a uno o varios controles visuales (por ejemplo, un cuadro de texto, un cuadro combinado, un control de cuadrícula, etc.). Puede haber más de un RDS.DataControl en cada página. Cada RDS.DataControl se puede conectar a un origen de datos diferente y contener los resultados de una consulta independiente.

RDS.DataControl también tiene sus propios métodos para navegar, ordenar y filtrar las filas del objeto Recordset asociado. Estos métodos son similares, pero no los mismos que los métodos del objeto Recordset de ADO.

Eventos

RDS admite dos de sus propios eventos, que son independientes del modelo de eventos de ADO. Se llama al evento onReadyStateChange cada vez que la propiedad RDS.DataControl ReadyState cambia, lo que le notifica cuando una operación asincrónica se ha completado, finalizado o experimentado un error. Se llama al evento onError cada vez que se produce un error, incluso si el error se produce durante una operación asincrónica.

Nota:

Microsoft Internet Explorer proporciona dos eventos adicionales a RDS: onDataSetChanged, que indica que el Recordset es funcional pero sigue recuperando filas y onDataSetComplete, lo que indica que el objeto Recordset ha terminado de recuperar filas.

Consulte también

Modelo de programación de RDS con objetos
Objeto DataControl (RDS)
Objeto DataFactory (RDSServer)
Objeto DataSpace (RDS)
Escenario de RDS
Tutorial de RDS
Seguridad y uso de RDS