Paramètres de composant DB
Après avoir ajouté un composant de base de données dans la zone de mappage, vous pouvez configurer divers paramètres de bases de données applicables depuis le dialogue Paramètres de composant (voir la capture d’écran ci-dessous). Vous pouvez ouvrir le dialogue Paramètres de composant d’une des manières suivantes :
•Double-cliquez sur la barre de titre du composant.
•Cliquez avec la touche de droite sur le composant, puis cliquez sur Propriétés.
•Sélectionnez le composant dans le mappage. Cliquez sur le menu Composant, et sélectionnez Propriétés depuis le menu contextuel.
Les paramètres disponibles sont recensés ci-dessous.
Base de données
Ce groupe affiche des informations de connexion de base de données. Cliquez sur Changer pour sélectionner une base de données différente ou pour redéfinir les objets de la base de données dans le composant de base de données existant. Les connecteurs vers les tables portant le même nom seront retenus. Vous pouvez aussi changer les tables dans le composant, en cliquant sur le composant de base de données et en sélectionnant Ajouter/SupprimerÉditer Objets de base de données.
Spécifie le chemin absolu ou relatif de la source de données actuelle.
|
Spécifie le nom de la connexion. Ce nom est généré automatiquement par MapForce. Généralement, il s'agit du même nom que celui du nom de source de données, mais il peut s'agir d'un nom « alias » si vous vous connectez à des Ressources Globales Altova. S’il existe de multiples composants de base de données avec la même connexion dans le mappage, le nom de connexion aura l’aspect suivant : <connection1>, <connection2>, etc.
|
Spécifie le type de base de données (par ex., SQLite).
|
Affiche le string de connexion de la base de données actuelle. Ce champ en lecture seule est généré sur la base de l'information que vous fournissez lors de la création ou de la modification de la connexion de base de données.
|
Paramètres de login
Les paramètres de login sont utilisés pour les cibles de la génération du code et le moteur d’exécution built-in.
Vous permet de changer de nom d'utilisateur pour vous connecter à la base de données. Obligatoire si la base de données nécessite un nom d'utilisateur pour pouvoir se connecter.
|
Vous permet de changer le mot de passe pour vous connecter à la base de données. Obligatoire si la base de données nécessite un mot de passe pour pouvoir se connecter.
|
Paramètres spécifiques à JDBC
Les paramètres spécifiques à JDBC sont pertinents quand le mappage contient une connexion JDBC et est exécutée en générant le code Java ou par MapForce Server.
Note : | Les connexions ADO, ADO.NET et ODBC sont converties en JDBC (et les paramètres JDBC ci-dessous s'appliquent) lorsque le mappage est exécuté sur un appareil Linux ou macOS. Pour plus de détails, voir Mappages de base de données dans des environnements d’exécution variés. |
Affiche le pilote actuellement actif pour le composant de base de données. Le pilote par défaut est saisi automatiquement lorsque vous définissez le composant de base de données. Vous pouvez modifier le pilote saisi ici selon vos besoins. Assurez-vous que la syntaxe de l'entrée dans le champ URL de base de données est conforme au pilote spécifique que vous avez choisi.
|
URL de la base de données actuellement sélectionnée. Assurez-vous que cette entrée soit conforme à la syntaxe du pilote JDBC du pilote spécifique saisi dans le champ du pilote JDBC
|
Paramètres spécifiques à ADO/OLEDB
Les paramètres spécifiques à ADO/OLEDB sont pertinents quand le mappage contient une connexion ADO et est exécutée par le code C# généré, le code C++, ou par MapForce Server exécuté sur Windows. Pour plus de détails, voir Mappages de base de données dans des environnements d’exécution variés. Les paramètres Source de données et Catalogue ne sont pas utilisés par le moteur d'exécution intégré.
Affiche le nom de la source de données ADO
|
Affiche le nom du catalogue ADO.
|
Affiche le fournisseur actuellement actif pour le composant de base de données.
|
Affiche toute option de base de données supplémentaire.
|
Paramètres de génération
Les paramètres de génération s'appliquent à toutes les cibles de génération de code ainsi qu'à l'appareil d'exécution intégré. L’option Retirer les noms de schéma depuis les noms de table vous permet de supprimer des noms de schéma de base de données du code généré et ne retiennent que les noms de table. Veuillez noter que cette option ne fonctionne que pour les instructions SELECT SQL générées par MapForce. Les instructions SQL définies par l’utilisateur ne seront pas modifiées.
L’option paramètres de génération est prise en charge pour la compatibilité inversée doit être évitée. Afin de rendre les noms d'objet de table de données en que relatives au schéma par défaut, utilisez l'approche décrite dans Utiliser les noms d'objet relatifs au schémas.
Timeout pour l’exécution d'instruction
Lorsqu'une base de données est utilisée en tant que composant cible, des « timeouts » d'exécution peuvent se produire en raison de la disponibilité du serveur, du trafic, des déclencheurs à longue durée, et d'autres facteurs.
Définit une période de temps, en secondes, pendant laquelle le moteur d’exécution doit attendre pour une réponse de la base de données avant d'abandonner l'exécution de l’instruction de la base de données. Le délai d’expiration par défaut est de 60 secondes.
|
Si elle est activée, cette option indique au moteur d'exécution de ne jamais effectuer de time out.
|
Note : | le timeout pour l'exécution de l'instruction n'est pas applicable pour les bases de données SQLite. |
Gestion de la transaction de base de données
Au cours de l’exécution d’un mappage qui a un composant de base de données, il pourrait y avoir diverses erreurs liées à la base de données (par ex., clés d’indice doubles, valeurs NULL insérées dans les colonnes non-NULL, etc.). Pour pouvoir restaurer vos données de base de données en cas d’erreur, activez la gestion de transaction de la base de données. Vous pouvez activer une restauration de transaction au niveau du composant de base de données (paramètre actuel), au niveau de l’action de table, et au niveau de la procédure stockée. Pour plus d’information sur les possibles scénarios de gestion de la transaction, voir Restauration de la transaction : Scénarios.
Certains mappages peuvent contenir des composants de bases de données multiples qui peuvent avoir les mêmes ou différentes connexions de bases de données. Le résultat de ces mappages en cas d'erreurs liées à la base de données dépend du moteur d'exécution :
•Si le mappage est effectué avec MapForce, seul un composant de cible peut être exécuté lorsque le mappage est exécuté. Il s'agit du composant dans lequel la touche est activée. Si une erreur de base de donnée se produit dans ce composant, et la coche Utiliser les transactions est activée, tous les changements effectués par le composant seront annulés.
•Si le mappage est effectué avec MapForce Server ou un programme généré par MapForce, tous les composants de cible sont exécutés, de manière séquentielle. Dans ce cas, lorsqu'une erreur de base de données se produit, l'annulation se produira pour le composant de base de données à l'endroit où l'erreur s'est produite. Le mappage s'arrêtera ou continuera à exécuter le composant cible suivant selon la valeur que vous avez sélectionnée depuis la liste déroulante Lorsqu'une erreur se produit ( voir ci-dessous).
Permet le traitement de la transaction pour un composant de base de données cible. Le processus de transaction est activé pour toutes les tables du composant de base de données lorsque vous sélectionnez cette option. Activez une gestion de transaction au niveau du composant de la base de données comprend tous les changements de base seul de données qui seront restaurés dans le cas d’une erreur associée à la base de données.
|
Si vous avez sélectionné la case à cocher Utiliser transaction, vous pouvez choisir quoi faire lorsqu’une erreur de base de données survient :
•Restaurer transaction du haut et arrêter : La transaction qui comprend tous les changements de base de données est renvoyée, et l’exécution du mappage s’arrête. •Annuler cette transaction et continuer : Comme ci-dessus, mais le mappage continue d’exécuter après l’annulation (par ex., pour traiter un deuxième composant cible).
Au niveau de composant de base de données, vous contrôlez si le traitement devrait continuer pour d’autres composants cible. Par exemple, dans un mappage XML-DB-JSON, une erreur est apparue dans le composant de base de données. Dans ce cas, le fichier JSON peut encore être traité et extrait si vous avez activé l’option Restaurer la transaction du haut et continuer.
|
Traçages
Lorsqu'un mappage écrit des données dans une base de données, vous pouvez activer le traçage et la journalisation d'erreur de la base de données. Le traçage est utile si vous souhaitez suivre tous les changements devenir dans la base de données lors de l’exécution du mappage. Les changements effectués dans la base de données sont journalisés dans un rapport de trace. S’il existe des erreurs pendant l’exécution, ces erreurs seront également journalisées. Le traçage est compatible uniquement avec le langage de transformation Built-In.
Vous pouvez permettre le traçage à différents niveaux :
•Niveau de composant de base de données : Le traçage à ce niveau pourrait être utile pour les mappages qui ont des composants de base de données cible et vous devez assurer le traçage uniquement pour certains d’entre eux. L'activation du traçage au niveau du composant de base de données l'active automatiquement pour toutes les tables et les procédures stockées dans le composant. Afin de pouvoir être tracé, les tables pertinentes et procédures stockées doivent être connectées aux nœuds source.
•Table ou niveau de procédure stockée: Vous pouvez décider si vous voulez activer le traçage pour une table spécifique ou une procédure stockée. Au niveau de la table, le traçage inclut des événements associés aux actions de table (par ex., Insert All). Dans le cas de procédures stockées, les événements liés à l'appel de procédure stockée sont tracés.
•Niveau de champ de base de données : Par défaut, tous les champs sont tracés, mais vous pouvez exclure certains champs du rapport de trace ou choisir d’inclure certains champs uniquement dans le cas d’une erreur.
De manière importante, les trois niveaux ci-dessus sont hiérarchiques. Ceci signifie qu’afin de définir le traçage à un niveau inférieur, vous devez d’abord activer le traçage au niveau du parent. Par exemple, si vous devez définir le traçage au niveau de la table, vous devez d’abord activer le traçage au niveau du composant de base de données. Le même principe s‘applique lorsque vous réduisez le niveau de traçage. Par exemple, si vous limitez le traçage uniquement à des erreurs au niveau du composant de base de données, il n’est pas possible d'utiliser le traçage complet au niveau de la table de la procédure stockée.
MapForce vous permet de définir les options de traçage suivantes :
Si le traçage est activé, les actions effectuées par le mappage par rapport à la base de données sont consignées dans un fichier de traçage. Vous pouvez choisir de journaliser toutes les actions, uniquement les erreurs ou désactiver le traçage complètement.
|
Spécifie le fichier sur lequel les informations de traçage de base de données seront écrites lorsque le mappage est exécuté. Ce chemin peut être absolu ou relatif et est influé par la case à cocher du fichier Enregistrer tous les chemins relatifs au fichier MFD. Le fichier de traçage est en format XML. Si vous préférez que le fichier log soit sous un autre format que XML, vous pouvez mapper les données en de celui-ci vers un autre genre de composant pris en charge par MapForce (par ex., un fichier texte, une autre base de données, etc.).
Structure du fichier de traçageLorsque le traçage est activé pour un composant de base de données, une structure de traçage devient disponible dans la partie inférieure du composant (capture d’écran ci-dessous). La capture d’écran ci-dessus affiche que le nœud du niveau supérieur dans la structure de traçage est le nom du fichier de traçage (Log.xml). Le reste de la structure de traçage est modelé basé sur la structure des tables de base de données ou des procédures stockées qui participent au mappage. Dans cet exemple, l’élément top a le même nom que la base de données. L’élément BookCatalog01 a deux éléments enfant : Authors, Books, et trace:summary. Les éléments Authors reflètent la structure des tables qui sont ajoutées au composant de la base de données. L’élément trace:summary contient un attribut errors qui rapporte le nombre d'erreurs rencontrées.
L’élément Authors contient les deux éléments enfant : trace:values et trace:actions. La structure trace:values affiche toutes les colonnes de la table de la base de données. Par défaut, toutes les colonnes sont tracées, mais vous pouvez changer ceci en configurant le traçage au niveau du fichier de base de données (voir ci-dessus). En ce qui concerne les procédures stockées, cette structure affiche les paramètres de la procédure stockée.
L’élément trace:actions inclut l’information sur toutes les actions qui sont définies pour cette table de base de données particulière. Dans notre exemple, deux actions ont été configurées pour la table Authors : Ignore If et Insert Rest. Chaque action de traçage possède un attribut rows-affected qui spécifie combien de lignes seront touchées par l'action de base de données respective. L’élément trace:error est rempli uniquement si une erreur de base de données se produit pendant l'exécution de mappage. Cet élément de produit contient deux attributs : code et state. Le texte de l'erreur et les valeurs d'attribut sont fournis par le pilote de base de données et seront donc différents pour différentes bases de données.
Fichier de traçage dans le volet SortiePour consulter le fichier de traçage, cliquez sur le volet Sortie. Notez que le rapport de trace affiché dans le volet Sortie est à des fins d’information et ne reflète pas les résultats d’exécution actuels. Pour produire un rapport de trace actuel, exécutez le script SQL depuis le volet Sortie. Un exemple d’un fichier de traçage est en fonction ci-dessous.
<BookCatalog01> <Authors> <trace:values> <Author>Neil Gaiman</Author> <Website>www.neilgaiman.com</Website> </ trace:values> <trace:actions> <trace:ignore/> </ trace:actions> </ Authors> <Authors>...</Authors> <Authors>...</Authors> <trace:summary errors="0"/> </BookCatalog01>
Pour plus d’information sur le traçage, voir le Scénario 1 dans la Restauration de la transaction : Scénarios.
|
Enregistrer tous les chemins de fichier relatifs au fichier MFD
Lorsque cette option est activée, MapForce enregistre les chemins de fichier affichés dans le dialogue Paramètres de composant relatif à l’emplacement du fichier de MapForce Design (.mfd). Utiliser des chemins relatifs si vous avez l'intention d'exécuter le mappage avec MapForce Server sur un système d'exploitation différent. Voir aussi Utiliser des chemins relatifs et absolus.
Utiliser une connexion de base de données partagée au moment de l’exécution
Cette option vous permet de choisir si plusieurs composants de base de données qui utilisent la source de données et figurent dans le même mappage devrait partager la même connexion de base de données. Par défaut, cette option est désactivée ; autrement, elle peut changer le comportement du mappage, en particulier quand la connexion est partagée entre un ou plusieurs composants source et cible.
Partager la même connexion de la base de données vous permet de résoudre de multiples questions, par exemple, avec les verrouillages de table/ligne, l’isolation de la transaction, et le nombre de connexions de serveur (voir les détails ci-dessous).
•Lorsque vous lisez une ligne depuis la table et tentez de mettre à jour la même ligne, il se pourrait (dépendant du vendeur) que vous ayez une erreur de verrouillage de la table/ligne. Avec une connexion de base de données partagée, la question peut être évitée.
•Avec le partage de connexion activé, vous serez à même de changer déjà les lignes qui sont wrappées dans une transaction. Avec les connexions séparées, seuls les changements validés sont visibles.
•Le partage de connexion aide également à réduire le nombre de connexions de la base de données, qui vous permet de réduire à son tour le temps total de traitement pour les mappages avec un grand nombre de composants de base de données, mais utilise la même source de données. La procédure de connexion à la base de données peut être longue, en particulier avec les instances du serveur cloud sur un serveur lent ou lorsque le serveur de la base de données est occupé.