Compartir a través de


Escribir su propio controlador personalizado

Es posible que quiera escribir su propio controlador si es administrador del servidor IIS que quiere la compatibilidad predeterminada con RDS, pero más control sobre las solicitudes de usuario y los derechos de acceso.

El controlador MSDFMAP implementa la interfaz IDataFactoryHandler.

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 al Servicio de Datos WCF.

IDataFactoryHandler (interfaz)

Esta interfaz tiene dos métodos, GetRecordset y Reconnect. Ambos métodos requieren que la propiedad cursorLocation de se establezca en adUseClient.

Ambos métodos toman argumentos que aparecen después de la primera coma en la palabra clave "Handler=". Por ejemplo, "Handler=progid,arg1,arg2;" pasará una cadena de argumentos de "arg1,arg2"y "Handler=progid" pasará un argumento NULL.

Método GetRecordset

Este método consulta el origen de datos y crea un nuevo objeto Recordset mediante los argumentos proporcionados. El recordset de debe abrirse con adLockBatchOptimistic y no debe abrirse de forma asincrónica.

Argumentos

conn La cadena de conexión.

argumentos Argumentos del controlador.

consulta El texto del comando para realizar una consulta.

ppRS Puntero donde se debe devolver el recordset de.

Método de Reconexión

Este método actualiza el origen de datos. Crea un nuevo objeto Connection y adjunta el Recordset especificado.

Argumentos

conn La cadena de conexión.

argumentos Argumentos del controlador.

pRSobjeto Recordset.

msdfhdl.idl

Esta es la definición de interfaz para IDataFactoryHandler que aparece en el archivo msdfhdl.idl.

[  
  uuid(D80DE8B3-0001-11d1-91E6-00C04FBBBFB3),  
  version(1.0)  
]  
library MSDFHDL  
{  
    importlib("stdole32.tlb");  
    importlib("stdole2.tlb");  
  
    // TLib : Microsoft ActiveX Data Objects 2.0 Library  
    // {00000200-0000-0010-8000-00AA006D2EA4}  
    #ifdef IMPLIB  
    importlib("implib\\x86\\release\\ado\\msado15.dll");  
    #else  
    importlib("msado20.dll");  
    #endif  
  
    [  
      odl,  
      uuid(D80DE8B5-0001-11d1-91E6-00C04FBBBFB3),  
      version(1.0)  
    ]  
    interface IDataFactoryHandler : IUnknown  
    {  
HRESULT _stdcall GetRecordset(  
      [in] BSTR conn,  
      [in] BSTR args,  
      [in] BSTR query,  
      [out, retval] _Recordset **ppRS);  
  
// DataFactory will use the ActiveConnection property  
// on the Recordset after calling Reconnect.  
   HRESULT _stdcall Reconnect(  
      [in] BSTR conn,  
      [in] BSTR args,  
      [in] _Recordset *pRS);  
    };  
};  

Consulte también

Archivo de Personalización Sección de Conexión
Sección de registros de archivos de personalización
sección SQL del archivo de personalización
sección UserList del archivo de personalización
Personalización de DataFactory
Configuración del Cliente Requerida
Comprensión del archivo de personalización