Erstellen eines eigenen benutzerdefinierten Handlers
Möglicherweise möchten Sie ihren eigenen Handler schreiben, wenn Sie ein IIS-Serveradministrator sind, der die standardmäßige RDS-Unterstützung möchte, aber mehr Kontrolle über Benutzeranforderungen und Zugriffsrechte hat.
The MSDFMAP.Handler implementiert die IDataFactoryHandler Schnittstelle.
Wichtig
Ab Windows 8 und Windows Server 2012 sind RDS-Serverkomponenten nicht mehr im Windows-Betriebssystem enthalten (weitere Details finden Sie unter Windows 8 und Windows Server 2012 Compatibility Cookbook). RDS-Clientkomponenten werden in einer zukünftigen Version von Windows entfernt. Vermeiden Sie die Verwendung dieses Features in neuer Entwicklungsarbeit, und planen Sie, Anwendungen zu ändern, die derzeit dieses Feature verwenden. Anwendungen, die RDS verwenden, sollten zu WCF Data Servicemigrieren.
IDataFactoryHandler-Schnittstelle
Diese Schnittstelle verfügt über zwei Methoden, GetRecordset und Reconnect. Beide Methoden erfordern, dass die CursorLocation-Eigenschaft auf adUseClientfestgelegt wird.
Beide Methoden verwenden Argumente, die nach dem ersten Komma im Schlüsselwort "Handler=" angezeigt werden. Beispielsweise wird "Handler=progid,arg1,arg2;"
eine Argumentzeichenfolge von "arg1,arg2"
übergeben, und "Handler=progid"
wird ein NULL-Argument übergeben.
GetRecordset-Methode
Diese Methode fragt die Datenquelle ab und erstellt mithilfe der bereitgestellten Argumente ein neues Recordset-Objekt. Das Recordset muss unter Verwendung von adLockBatchOptimistic geöffnet werden und darf nicht asynchron erfolgen.
Argumente
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. Es erstellt ein neues Connection--Objekt und hängt das angegebene Recordset-an.
Argumente
Die Verbindungszeichenfolge.
Args Die Argumente für den Handler.
pRS A Recordset-Objekt.
msdfhdl.idl
Dies ist die Schnittstellendefinition für IDataFactoryHandler-, die 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);
};
};
Siehe auch
Anpassungsdatei Verbinden Abschnitt
Abschnitt Anpassungsdateiprotokolle
SQL-Abschnitt der Anpassungsdatei
Anpassungsdatei-Abschnitt UserList
DataFactory-Anpassung
Erforderliche Clienteinstellungen
Grundlegendes zur Anpassungsdatei