Définition des options (FireDAC)
Remonter à Utilisation des connexions (FireDAC)
Explique pourquoi l'ensemble d'options fait de FireDAC un framework de base de données flexible et comment utiliser les options. FireDAC fournit une large gamme d'options organisées en système hiérarchique. Vous pouvez conserver la valeur par défaut de la majorité des options.
Rubriques
Rubrique | Description |
---|---|
Mappage des types de données | FireDAC fournit un système flexible et ajustable de mappage des types de données, qui vous permet de simplifier la migration vers FireDAC ou d'optimiser la représentation des données. |
Description
Les options FireDAC sont classées en cinq groupes :
- FetchOptions -- Options d'extraction qui contrôlent la façon dont les composants et les commandes de la couche Phys extraient les données d'un SGBD. Par exemple, il est possible d'extraire tous les enregistrements simultanément ou d'extraire des enregistrements sur demande.
- FormatOptions -- Options de formatage qui contrôlent la façon dont les types de données du SGBD sont mappés en types de données FireDAC et vice versa. Par exemple, un programmeur peut configurer un mappage pour Oracle NUMBER (38) sur dtBCD ou sur dtInt64. Pour de plus amples informations, lisez Mappage des types de données.
- UpdateOptions -- Options de mise à jour qui contrôlent la façon dont FireDAC valide les mises à jour dans le SGBD. Par exemple, au cours d'une mise à jour, FireDAC peut mettre à jour tous les champs d'une table ou seulement ceux qui ont été modifiés.
- ResourceOptions -- Options de ressources qui contrôlent la façon dont les ressources système sont utilisées, la persistance des ensembles de données et d'autres paramètres. Par exemple, une commande de la couche Phys FireDAC peut être réalisée de façon asynchrone ou bloquée.
- TxOptions -- Options de transactions qui contrôlent la façon dont les transactions sont réalisées. Elles peuvent par exemple être réalisées en mode isolation ReadCommitted. Notez que TxOptions n'utilise pas l'héritage des valeurs d'options.
Comme FireDAC introduit de nombreuses options, la configuration de chaque ensemble de données ou commande peut rendre la programmation complexe et source d'erreurs. FireDAC résout ce problème en introduisant un modèle d'héritage parent-enfant basé sur des valeurs d'options. Les valeurs d'options sont propagées depuis un parent vers un enfant (de haut en bas). Si un niveau inférieur n'a pas de valeur d'option explicitement assignée, une valeur est prise d'un niveau supérieur si celui-ci a une valeur assignée ou du niveau le plus haut. FireDAC possède les niveaux suivants :
- Le niveau Gestionnaire (TFDCustomManager, IADPhysManager)
- Le niveau Connexion (TFDCustomConnection, IADPhysConnection)
- Le niveau Commande (TFDCustomCommand) / Ensemble de données (TFDCustomQuery, TFDStoredProc, etc.)
Le niveau Gestionnaire représente le niveau le plus élevé, Connexion le niveau intermédiaire et Commande/Ensemble de données le niveau inférieur. Par conséquent, en définissant une option Gestionnaire ou Connexion particulière, tous les Ensembles de données héritent de sa valeur. Cela reste vrai tant qu'un programmeur n'a pas explicitement assigné une valeur à l'option Ensemble de données.
L'indicateur TxxxOptions.AssignedValues contrôle l'héritage. Si une option est modifiée à ce niveau, un indicateur correspondant est inclus dans AssignedValues. Si aucun indicateur n'est inclus, une valeur d'option est héritée du niveau supérieur. Si l'indicateur est exclu de la propriété AssignedValues, l'option hérite à nouveau sa valeur du niveau supérieur.
Les options peuvent être configurées pour une définition de connexion persistante en utilisant FDExplorer. Une fois la connexion établie, la configuration des options est appliquée aux options TFDCustomConnection.
Exemple 1
Le mappage des types de données entre les types du SGBD et les types du client définis dans FormatOptions est hérité par toutes les Commandes à partir de leur Connexion.
with oConnection.Options.FormatOptions do begin
OwnMapRules := True;
MapRules.Clear;
with MapRules.Add do begin
PrecMax := 19;
PrecMin := 4;
SourceDataType := dtFmtBCD;
TargetDataType := dtCurrency;
end;
end;
Exemple 2
Une application d'entrepôt de données peut configurer le mode d'extraction rapide, à l'aide des FetchOptions du niveau Gestionnaire. De cette façon, toutes les connexions et toutes leurs commandes héritent de ces options.
with ADManager.FetchOptions do begin
Items := [];
Cache := [];
RowsetSize := 1000;
end;