Modelo de programación de RDS en detalle
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 (consulte Windows 8 y Guía de compatibilidad de Windows Server 2012 para obtener más detalles). Los componentes de cliente de RDS se quitarán en una versión futura de Windows. Evite usar esta característica en el nuevo trabajo de desarrollo y planee modificar las aplicaciones que actualmente usan esta característica. Las aplicaciones que usan RDS deben migrar a 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 el RDS. DataSpace objeto.
El programa de servidor se especifica con un identificador de programa o ProgID. El servidor usa el de ProgID y el registro del equipo 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, 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 bien 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 de en una cadena de texto para crear una página web (ConvertToString).
Con ADO, puede sobrescribir parte del comportamiento estándar de conexión y comando de la RDSServer.DataFactory con un controlador de 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 empresarial 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 de RDSServer.DataFactory y usar algunos de sus métodos para realizar sus propias tareas.
RDS. DataControl
RDS proporciona un medio para combinar la funcionalidad del RDS. DataSpace y RDSServer.DataFactoryy 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 el RDS. DataControl objeto.
El RDS. DataControl tiene dos aspectos. Un aspecto pertenece al origen de datos. Si estableces la información de comando y conexión mediante las propiedades Connect y SQL de el RDS.DataControl, usará automáticamente el RDS.DataSpace para crear una referencia al objeto predeterminado RDSServer.DataFactory. A continuación, el 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 Recordset del origen de datos y devolverá el objeto Recordset al RDS.DataControl.
El segundo aspecto pertenece a la presentación de Recordset devuelto información en un control visual. Puede asociar un control visual con el RDS.DataControl (en un proceso llamado enlace) y acceder a la información del objeto Recordset asociado, para mostrar los resultados de la consulta en una página Web de Microsoft Internet Explorer. Cada RDS. DataControl objeto enlaza un objeto Recordset, que representa los resultados de una sola consulta, a uno o varios controles visuales (por ejemplo, un cuadro de texto, cuadro combinado, control de cuadrícula, etc.). Puede haber más de un objeto RDS.DataControl en cada página. Cada RDS. DataControl objeto se puede conectar a un origen de datos diferente y contener los resultados de una consulta independiente.
El RDS. DataControl objeto 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 iguales que los métodos del objeto Recordset Recordset de ADO.
Eventos
RDS admite dos de sus propios eventos, que son independientes del modelo de eventos de ADO. El evento onReadyStateChange se invoca cada vez que la propiedad RDS.DataControlReadyState cambia, notificándole así cuando la operación asincrónica se ha completado correctamente, ha finalizado o ha experimentado un error. Cuando se produce un error, se llama al evento onError, incluso si se produce el error durante una operación asincrónica.
Nota
Microsoft Internet Explorer proporciona dos eventos adicionales a RDS: onDataSetChanged, que indica que el recordset de es funcional pero sigue recuperando filas y onDataSetComplete, lo que indica que el 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
uso y seguridad de RDS