Bases de données
Site web d’Altova : Mappage de base de données
MapForce vous permet d’utiliser les bases de données comme sources et cibles de données.
La table ci-dessous énumère toutes les bases de données prises en charge. Si votre application Altova est une version 64-bit, assurez-vous que vous avez accès aux pilotes de base de données 64-bit nécessaires pour la base de données spécifique à laquelle vous tentez de vous connecter.
Base de données | Notes |
---|---|
Apache CouchDB 3.x | Bases de données NoSQL. Pour tout détail, voir la documentation CouchDB. Pour en savoir plus sur le fonctionnement des bases de données NoSQL dans MapForce, voir Bases de données NoSQL.
|
Azure CosmosDB | Azure CosmosDB est une base de données NoSQL, relationnelle et vectorielle. Pour savoir comment se connecter à cette base de données, voir Connexion Azure CosmosDB. Pour en savoir plus sur le fonctionnement des bases de données NoSQL dans MapForce, voir Bases de données NoSQL. Pour plus d’information sur la base de données, voir les articles suivants :
•Azure Cosmos BD (page de produit) •Azure Cosmos DB - Base de données pour AI Era •Documentation BD Azure Cosmos
|
Firebird 2.x, 3.x, 4.x | |
IBM DB2 DB2 8.x, 9.x, 10.x, 11.x | |
IBM Db2 pour i6.x, 7.4, 7.5 | Les fichiers logiques sont pris en charge et présentés en tant qu'affichage.
|
IBM Informix 11.70 et ultérieur | Informix supporte les connexions via ADO, JDBC et ODBC. L'implémentation ne supporte pas les types de données d'objet importants dans un des langages de génération de code. MapForce générera un message d'erreur (pendant la génération de code) si un de ces type de données est utilisé.
|
MariaDB 10 et ultérieur | MariaDB prend en charge les connexions natives. Aucun pilote séparé n'est nécessaire.
|
Microsoft Access 2003 et ultérieur | Au moment de la rédaction de ce manuel (début septembre 2019), il n'a y pas de Microsoft Access Runtime disponible pour Access 2019. Vous pouvez vous connecter à une base de données Access 2019 depuis les produits Altova uniquement si Microsoft Access 2016 Runtime est installé et uniquement si la base de données n'utilise pas le type de données « Large Number ».
|
Microsoft Azure SQL Database | SQL Server 2016 codebase
|
Microsoft SQL Server 2005 et ultérieur Microsoft SQL Server on Linux | |
MongoDB 4.x | Bases de données NoSQL. Pour plus de détail, voir la documentation DB. Pour en savoir plus sur le travail avec les bases de données NoSQL dans MapForce, voir Bases de données NoSQL.
|
MySQL 5 et ultérieur | MySQL 5.7 et version ultérieure prennent en charge les connexions natives. Aucun pilote séparé n'est nécessaire.
|
Oracle 9i et ultérieur | |
PostgreSQL 8 et ultérieur | Les connexions PostgreSQL sont prises en charge aussi bien en tant que connexions natives qu'en tant que connexions sur base pilote par le biais d'interfaces (pilotes) comme ODBC ou JDBC. Les connexions natives ne nécessitent pas de pilotes.
|
Progress OpenEdge 11.6 | |
SQLite 3.x
| Les connexions SQLite sont prises en charge en tant que connexions directes natives du fichier de base de données SQLite. Aucun pilote séparé n'est nécessaire. |
Sybase ASE 15, 16 | |
Teradata 16 | Les connexions sont prises en charge avec ADO.NET, JDBC et ODBC.
Lorsqu'un mappage insère des données dans une table de base de données, les champs d'identité générés sur base de données ne sont pas pris en charge.
|
Mappages de base de données dans des environnements d'exécution variés
Lorsque vous générez un code de programme depuis un mappage compilez un mappage vers les fichiers d'exécution MapForce Server, ou déployez un mappage vers FlowForce Server, les détails de connexion de la base de données enregistrés avec les fichiers générés sont adaptés aux pilotes pris en charge pour l'environnement cible choisi, (comme indiqué dans la table ci-dessous). Par exemple, si le langage de transformation de mappage est défini sur Java, les connexions ADO sont converties en JDBC lorsque le code Java est généré depuis le mappage.
Lorsqu’un mappage est exécuté dans un environnement autre que celui de MapForce, vous aurez besoin de vous assurer que les détails de connexion de la base de données sont utiles sur l’appareil qui exécute le mappage (par ex., vous allez avoir besoin de vérifier sir le pilote de base de données est installé, le chemin de base de données correct, le serveur de base de données accessible, etc.).
Certains types de connexion de base de données ne sont pas pris en charge dans certains environnements cible, comme indiqué dans la table ci-dessous.
Type de connexion /Environnement d'exécution | C# | C++ | Java | MapForce Server sur Windows | MapForce Server sur Linux/Mac |
---|---|---|---|---|---|
ADO | Pont ADO | Tel quel | Converti en JDBC | Tel quel | Converti en JDBC |
ADO.NET | Tel quel | Défini par l'utilisateur | Converti en JDBC | Tel quel | Converti en JDBC |
JDBC | Défini par l'utilisateur | Défini par l'utilisateur | Tel quel | Tel quel | Tel quel |
ODBC | Pont ODBC | Pont ODBC | Converti en JDBC | Tel quel | Converti en JDBC |
Native PostgreSQL | Non pris en charge | Non pris en charge | Non pris en charge | Tel quel | Tel quel |
Native SQLite | Non pris en charge | Non pris en charge | Non pris en charge | Tel quel | Tel quel |
Légende de la table :
•Tel quel signifie que le type de connexion de base de données (Par ex., JDBC) reste tel que défini dans MapForce.
•Converti en JDBC signifie que la connexion de base de données sera convertie en une URL de connexion de base de données semblable à JDBC.
•Pont ADO ou Pont ODBC signifie que le string de connexion reste tel que défini dans MapForce, mais que le code généré utilisera une classe appropriée qui agit comme un pont ADO (ou un pont ODBC respectivement), par exemple, System.Data.OleDb.OleDbConnection ou System.Data.Odbc.OdbcConnection.
•Défini par l'utilisateur signifie que, afin que la connexion puisse fonctionner dans le code généré, vous devrez saisir manuellement les détails de connexion dans le dialogue Paramètres de composant de base de données.
Empêcher des problèmes possibles avec les connexions JDBC dans l’environnement Java
Si le mappage se connecte à une base de données par le biais de JDBC, s’assurer que les pilotes JDBC utilisés par le mappage sont installés sur votre système. Pour consulter les paramètres JDBC actuels, les paramètres de tout composant de base de données dans MapForce, double-cliquez dans l’en-tête du composant de la base de données. Ceci ouvrira le dialogue Paramètres de composant. Pour plus d’informations, voir Paramètres de composant de base de données et Créer une connexion JDBC.
Si le mappage utilise une connexion de base de données non-JDBC, la connexion peut être convertie en JDBC pendant la génération de code Java, pour proposer une compatibilité dans un environnement Java. Pour les détails, voir l’ table ci-dessus.
Si vous effectuez un test de l'application Java générée, le pilote JDBC peut devoir être ajouté en tant qu'entrée classpath dans l'exécution actuelle de la configuration. Autrement, exécuter l’application pourrait résulter en une erreur semblable comme suit : java.lang.ClassNotFoundException: com.mysql.jdbc.Driver.
Cette sous-section discute certaines des approches possibles pour corriger les problèmes liés à JDBC.
Approche 1 : Ajouter le pilote JDBC comme dépendance dans Eclipse
Si vous travaillez avec Eclipse, vous allez devoir ajouter un pilote JDBC en tant que dépendance comme suit :
1.Générez un code Java dans MapForce et importez le projet dans Eclipse, tel que décrit dans Générer, Créer et Exécuter le code.
2.Cliquez sur la configuration souhaitée dans Eclipse (par ex., MappingApplication).
3.Dans l’onglet Dépendances, cliquez sur entrées Classpath, puis cliquez sur Ajouter JAR externes.
4.Recherchez le fichier .jar de votre pilote JDBC (par ex., C:\jdbc\mysql\mysql-connector-java-5.1.16-bin.jar).
5.Cliquer sur Run pour exécuter le programme avec le pilote JDBC de base de données en tant que dépendance.
Approche 2 : Ajouter le pilote JDBC à classpath de la tâche de test dans build.xml
Si vous obtenez une erreur liée au pilote JDBC pendant la marche de test du fichier Ant build.xml, ajoutez le pilote JDBC dans le classpath de la tâche test dans build.xml. La liste de codes ci-dessous est un exemple d’une tâche Ant test qui inclut une référence au fichier .jar du pilote JDBC (en surbrillance jaune ci-dessous).
<target name="test" depends="compile">
<java classpath="C:\codegen\java\mysql_mapping" classname="com.mapforce.MappingConsole" fork="true" failonerror="true">
<classpath>
<pathelement path="${classpath}"/>
<pathelement location="C:\jdbc\mysql\mysql-connector-java-5.1.16-bin.jar"/>
</classpath>
<arg line="${cmdline}"/>
</java>
</target>
Approche 3 : Inclure le pilote JDBC dans manifest de l'application
Si vous construisez des fichiers JAR depuis l'application Java générée, ajoutez une référence au pilote de base de données dans la section manifest du fichier build.xml. Cela garantit que la référence au pilote de base de données est disponible dans le fichier manifest (MANIFEST.MF) une fois que vous avez construit le projet.
Pour ajouter la référence de la base de données au fichier manifest, suivez les étapes ci-dessous :
1.Situer l’élément manifest dans le fichier build.xml.
2.Ajouter un nouvel élément appelé attribute, sachant que l'attribut name est Class-Path et que l'attribut value est le nom du fichier .jar. Par exemple, pour MySQL 5.1.16, le fichier manifest mis à jour pourrait avoir l’air de ceci comme suit (notez la ligne en surbrillance en jaune):
<manifest file="C:\codegen\java\mysql_mapping/META-INF/MANIFEST.MF" mode="replace">
<attribute name="Created-By" value="MapForce 2025"/>
<attribute name="Main-Class" value="com.mapforce.MappingConsole"/>
<attribute name="Class-Path" value="mysql-connector-java-5.1.16-bin.jar"/>
</manifest>
3.Copier le fichier JAR du pilote JDBC dans le dossier qui contient le fichier JAR de l’application générée.