Vue d’ensemble du service de curseur Microsoft pour OLE DB
Le service de curseur Microsoft pour OLE DB complète les fonctions de prise en charge du curseur des fournisseurs de données. Par conséquent, l’utilisateur perçoit des fonctionnalités relativement uniformes de tous les fournisseurs de données.
Le service curseur met à disposition des propriétés dynamiques et améliore le comportement de certaines méthodes. Par exemple, la propriété dynamique Optimize permet de créer des index temporaires pour faciliter certaines opérations, telles que la méthode Find.
Le service curseur active la prise en charge de la mise à jour par lots dans tous les cas. Il simule également des types de curseurs plus capables, tels que des curseurs dynamiques, lorsqu’un fournisseur de données ne peut fournir que des curseurs moins capables, tels que des curseurs statiques.
Mot-clé
Pour appeler ce composant de service, définissez la propriété Recordset ou Connection propriété CursorLocation sur adUseClient.
connection.CursorLocation=adUseClient
recordset.CursorLocation=adUseClient
Propriétés dynamiques
Lorsque le service Cursor pour OLE DB est appelé, les propriétés dynamiques suivantes sont ajoutées à la collection Properties de l'objet Recordset. La liste complète des propriétés dynamiques des objets Connection et Recordset est répertoriée dans l'index de propriété dynamique ADO. Les noms de propriétés OLE DB associés, le cas échéant, sont inclus entre parenthèses après le nom de la propriété ADO.
Les modifications apportées à certaines propriétés dynamiques ne sont pas visibles par la source de données sous-jacente une fois que le service de curseur a été appelé. Par exemple, la définition de la propriété Command Time out sur un jeu d’enregistrements ne sera pas visible par le fournisseur de données sous-jacent.
Recordset1.CursorLocation = adUseClient 'invokes cursor service
Recordset1.Open "authors", _
"Provider=SQLOLEDB;Data Source=DBServer;User Id=MyUserID;" & _
"Password=<password>;Initial Catalog=pubs;",,adCmdTable
Recordset1.Properties.Item("Command Time out") = 50
' 'Command Time out' property on DBServer is still default (30).
Si votre application requiert le service cursor, mais que vous devez définir des propriétés dynamiques sur le fournisseur sous-jacent, définissez les propriétés avant d’appeler le service de curseur. Les paramètres de propriété de l’objet command sont toujours passés au fournisseur de données sous-jacent, quel que soit l’emplacement du curseur. Par conséquent, vous pouvez également utiliser un objet de commande pour définir les propriétés à tout moment.
Note
La propriété dynamique DBPROP_SERVERDATAONINSERT n’est pas prise en charge par le service de curseur, même si elle est prise en charge par le fournisseur de données sous-jacent.
Nom de la propriété | Description |
---|---|
Calcul automatique (DBPROP_ADC_AUTORECALC) | Pour les jeux d’enregistrements créés avec le service de mise en forme des données, cette valeur indique la fréquence à laquelle les colonnes calculées et agrégées sont calculées. La valeur par défaut (valeur=1) consiste à recalculer chaque fois que le service de mise en forme des données détermine que les valeurs ont changé. Si la valeur est 0, les colonnes calculées ou agrégées sont calculées uniquement lorsque la hiérarchie est initialement générée. |
Taille du lot (DBPROP_ADC_BATCHSIZE) | Indique le nombre d’instructions de mise à jour qui peuvent être traitées par lots avant d’être envoyées au magasin de données. Plus il y a d'instructions dans un lot, moins il y a d'allers-retours vers la base de données. |
Mettre en cache les lignes enfants (DBPROP_ADC_CACHECHILDROWS) | Pour les recordsets créés avec le service de mise en forme des données, cette valeur indique si les recordsets enfants sont stockés dans un cache pour une utilisation ultérieure. |
Version du moteur de curseur (DBPROP_ADC_CEVER) | Indique la version du service de curseur utilisée. |
Maintenir l’état des modifications (DBPROP_ADC_MAINTAINCHANGESTATUS) | Indique le texte de la commande utilisée pour resynchroniser une ou plusieurs lignes dans une jointure de table multiple. |
Optimiser | Indique si un index doit être créé. Lorsqu’il est défini sur True, autorise la création temporaire d’index pour améliorer l’exécution de certaines opérations. |
Redéfinir le nom | Indique le nom du jeu d’enregistrements . Peut être référencé dans les commandes de mise en forme des données actuelles ou ultérieures. |
commande resync | Indique une chaîne de commande personnalisée utilisée par la méthode Resync lorsque la propriété Unique Table est en vigueur. |
Catalogue Unique | Indique le nom de la base de données contenant la table référencée dans la propriété Table unique. |
Schéma unique | Indique le nom du propriétaire de la table référencée dans la propriété Table unique. |
table unique | Indique le nom d’une table dans un jeu d’enregistrements créé à partir de plusieurs tables qui peuvent être modifiées par des insertions, des mises à jour ou des suppressions. |
Critères de mise à jour (DBPROP_ADC_UPDATECRITERIA) | Indique les champs de la clause WHERE utilisées pour gérer les collisions qui se produisent lors d’une mise à jour. |
Mise à jour de Resynchronisation (DBPROP_ADC_UPDATERESYNC) | Indique si la méthode Resync est implicitement appelée après la méthode UpdateBatch (et son comportement), lorsque la propriété Unique Table est en vigueur. |
Vous pouvez également définir ou récupérer une propriété dynamique en spécifiant son nom comme index de la collection Properties. Par exemple, obtenez et imprimez la valeur actuelle de la propriété Optimize dynamique, puis définissez une nouvelle valeur, comme suit :
Debug.Print rs.Properties("Optimize")
rs.Properties("Optimize") = True
Comportement intégré de la propriété
Le service de curseur pour OLE DB affecte également le comportement de certaines propriétés intégrées.
Nom de la propriété | Description |
---|---|
CursorType | Complète les types de curseurs disponibles pour un **Recordset** . |
TypeDeVerrouillage | Complète les types de verrous disponibles pour un jeu d’enregistrements . Active les mises à jour par lots. |
trier | Spécifie un ou plusieurs noms de champs sur lesquels le jeu d’enregistrements est trié et indique si chaque champ est trié dans l’ordre croissant ou décroissant. |
Comportement de la méthode
Le service de curseur pour OLE DB active ou affecte le comportement de la méthode Field de l'objet Append ; et les méthodes Recordset de l'objet Open, Resync, UpdateBatchet Save.