Écriture d’un gestionnaire personnalisé
Vous pouvez écrire votre propre gestionnaire si vous êtes un administrateur de serveur IIS qui souhaite prendre en charge RDS par défaut, mais avec plus de contrôle sur les demandes utilisateur et les droits d’accès.
MSDFMAP.Handler implémente l’interface IDataFactoryHandler.
Important
À compter de Windows 8 et Windows Server 2012, les composants serveur RDS ne sont plus inclus dans le système d’exploitation Windows (voir le Guide pratique sur la compatibilité de Windows Server 2012 et Windows 8 pour plus de détails). Les composants clients RDS seront supprimés dans une version ultérieure de Windows. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Les applications qui utilisent RDS doivent migrer vers WCF Data Service.
IDataFactoryHandler Interface
Cette interface a deux méthodes : GetRecordset et Reconnect. Les deux méthodes nécessitent que la propriété CursorLocation soit définie sur adUseClient.
Les deux méthodes acceptent des arguments qui apparaissent après la première virgule dans le mot clé « Handler= ». Par exemple, "Handler=progid,arg1,arg2;"
passe une chaîne d’argument de "arg1,arg2"
, et "Handler=progid"
passe un argument null.
Méthode GetRecordset
Cette méthode interroge la source de données et crée un objet Recordset à l’aide des arguments fournis. L’objet Recordset doit être ouvert avec adLockBatchOptimistic et ne doit pas être ouvert de manière asynchrone.
Arguments
conn La chaîne de connexion.
args Les arguments pour le descripteur.
query Le texte de commande pour effectuer une requête.
ppRS Le pointeur où le Recordset doit être renvoyé.
Méthode Reconnect
Cette méthode met à jour la source de données. Cela crée un objet Connection et attache l’objet Recordset donné.
Arguments
conn La chaîne de connexion.
args Les arguments pour le descripteur.
pRS Un objet Recordset.
msdfhdl.idl
Il s’agit de la définition d’interface pour IDataFactoryHandler qui apparaît dans le fichier 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);
};
};
Voir aussi
Fichier de personnalisation, section connect
Fichier de personnalisation, section Logs
Fichier de personnalisation, section SQL
Fichier de personnalisation, section UserList
Personnalisation de DataFactory
Paramètres client obligatoires
Présentation du fichier de personnalisation