Schreiben Ihres eigenen benutzerdefinierten Handlers

Möglicherweise möchten Sie Ihren eigenen Handler schreiben, wenn Sie ein IIS-Serveradministrator sind, der sich standardmäßige RDS-Unterstützung, aber mehr Kontrolle über Benutzeranforderungen und Zugriffsrechte wünscht.

„MSDFMAP.Handler“ implementiert die IDataFactoryHandler-Schnittstelle.

Wichtig

Ab Windows 8 und Windows Server 2012 sind RDS-Serverkomponenten nicht mehr im Windows-Betriebssystem enthalten (weitere Informationen finden Sie in den jeweiligen Kompatibilitäts-Cookbooks zu Windows 8 und Windows Server 2012). RDS-Clientkomponenten werden in einer zukünftigen Version von Windows entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Anwendungen, die RDS verwenden, sollten zu WCF Data Service migriert werden.

IDataFactoryHandler-Schnittstelle

Diese Schnittstelle verfügt über zwei Methoden, GetRecordset und Reconnect. Beide Methoden erfordern, dass die CursorLocation-Eigenschaft auf adUseClient festgelegt wird.

Beide Methoden verwenden Argumente, die nach dem ersten Komma im Schlüsselwort "Handler=" angezeigt werden. Beispielsweise übergibt "Handler=progid,arg1,arg2;" die Argumentzeichenfolge "arg1,arg2", und "Handler=progid" übergibt ein NULL-Argument.

GetRecordset-Methode

Diese Methode fragt die Datenquelle ab und erstellt ein neues Recordset-Objekt mithilfe der bereitgestellten Argumente. Das Recordset muss mit adLockBatchOptimistic geöffnet werden und darf nicht asynchron geöffnet werden.

Argumente

conn Die Verbindungszeichenfolge.

args Die Argumente für den Handler.

Abfrage Der Befehlstext zum Erstellen einer Abfrage.

ppRS Der Zeiger, an dem das Recordset zurückgegeben werden soll.

Reconnect-Methode

Diese Methode aktualisiert die Datenquelle. Sie erstellt ein neues Connection-Objekt und fügt das angegebene Recordset an.

Argumente

conn Die Verbindungszeichenfolge.

args Die Argumente für den Handler.

pRS Ein Recordset-Objekt.

msdfhdl.idl

Dies ist die Schnittstellendefinition für IDataFactoryHandler, das in der Datei „msdfhdl.idl“ angezeigt wird.

[  
  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);  
    };  
};  

Weitere Informationen

Connect-Abschnitt der Anpassungsdatei
Logs-Abschnitt der Anpassungsdatei
SQL-Abschnitt der Anpassungsdatei
UserList-Abschnitt der Anpassungsdatei
DataFactory-Anpassung
Erforderliche Clienteinstellungen
Grundlegendes zur Anpassungsdatei