Configurer les sources de données

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Comparer des données de base de données >

Configurer les sources de données

Avant de pouvoir effectuer une comparaison de données tabulaire provenant d'une base de données, une source données qui inclut les détails de connexion de base de données et d'autres paramètres de configuration doivent être configurés. Une source de données doit exister pour chaque table, mode ou requête SQL personnalisée que vous souhaitez inclure dans la comparaison.

 

Pour configurer une source de données, ouvrir le fichier de configuration client et ajouter une nouvelle section [datasouce:<name>], où <name> est le seul nom avec lequel vous souhaitez identifier cette source de données. Les paramètres qui peuvent être présents dans une section [datasource] sont recensés ci-dessous.

 

Vous pouvez aussi ajouter des sources de données dans le fichier de configuration de serveur. Cela est très utile si vous souhaitez vous connecter à la source de données depuis l'appareil sur lequel DiffDog Server (pas le DiffDog Command Line Client) est exécuté. Néanmoins, veuillez noter que les connexions du côté serveur qui requièrent une authentification Windows pour des bases de données comme SQL Server peuvent rencontrer des problèmes dans ce cas, parce que le service DiffDog Server est exécuté en tant qu'un utilisateur séparé qui peut ne pas avoir accès à la base de données. La solution dans ce cas est de définir la source de données dans le fichier de configuration client — le DiffDog Command Line Client est exécuté en tant que l'utilisateur exécutant la commande data-diff.

 

Comme indiqué précédemment, chaque source de données doit fournir une table, un mode ou un recordset nommé personnalisé extrait par une requête SQL. Pour spécifier cela, définir les options table ou sql ci-dessous (elles sont exclusives mutuellement). Chose plus importante, pour chaque table, le mode, ou un recordset, il doit y avoir au moins une colonne qui garantit le caractère unique de chaque ligne. Cette colonne (ou plusieurs colonnes) sera appelée ensuite la colonne "clé". Si la table a une clé primaire, une colonne clé existe et le caractère unique de la ligne est garanti. Sinon, nous vous recommandons de spécifier une ou plusieurs colonnes qui doivent être traitées en tant que colonnes "clé". Vous pouvez ce faire en définissant les options key-columns-by-name and key-columns-by-ordinal ci-dessous.

 

type

Paramètres obligatoires. Spécifie le type de la connexion de base de données. Les valeurs valides sont : ado, adonet, jdbc, odbc, postgresql et sqlite. Exemple :

 

type=sqlite

 

Les connexions de type postgresql et sqlite sont intégrées et ne nécessitent aucun pilote. Pour d'autres types de base de données, choisir une méthode de connexion de base de données convenant à la machine qui exécutera la tâche de comparaison. Ce type de connexions exige que les pilotes de base de données correspondants soient installés sur la machine. Pour plus d'informations, voir Base de données prises en charge.

 

path

Ce paramètre spécifie le chemin vers le fichier de base de données. Ce paramètre est applicable uniquement pour les bases de données SQLite. Ne pas définir ce paramètre si vous avez défini le paramètre connection, parce qu'ils sont mutuellement exclusifs.

 

path=C:\Articles.sqlite

SQLite

 

connection

Paramètre conditionnel. Spécifie le string de connexion de base de données. Ne pas définir ce paramètre si vous avez défini le paramètre path, parce qu'ils sont mutuellement exclusifs.

 

connection=Data Source=DBSQLSERV;User ID=altova_user;Password=dhjdf84h;Provider=SQLNCLI11.1;Initial Catalog=NANONULL;Persist Security Info=true

SQL Server (ADO)

connection=jdbc:db2://mydb2-105:50000/NANONULL

DB2 (JDBC)

connection=jdbc:oracle:thin:@dbora12c:1521:orcl12c

Oracle (JDBC)

connection=my.dbserver.com

PostgreSQL (Native)

Note:En ce qui concerne les connexions PostgreSQL natives, la connection peut aussi être l'adresse IP du serveur de base de données, par exemple, 127.0.0.1. La base de données et le port d'une connexion PostgreSQL native sont spécifiés dans les options database et port.

 

Appeler la commande db-drivers pour consulter des connexions disponibles sur la machine locale, affichées dans un format que vous pouvez copier-coller. De plus, si vous avec un DatabaseSpy mis sous licence, vous pouvez créer une connexion de base de données à partir de là, et puis de réutiliser les détails de connexion tels qu'affichés dans la fenêtre Propriétés.

 

database

Obligatoire et uniquement applicable pour les connexions PostgreSQL natives. Spécifie la base de données de la connexion PostgreSQL.

 

database = ZooDB

 

 

port

Paramètres conditionnels. Spécifie le port de la connexion de base de données. Le port peut être requis par certaines connexions de base de données.

 

table

Paramètres conditionnels. Spécifie le nom complet de la table de base de données ou des modes à utiliser dans le côté gauche ou droite de la comparaison. Si vous configurez ce paramètre, il ne faut pas définir le paramètre sql, parce qu'ils sont mutuellement exclusifs. Exemples :

 

table=[HR].[dbo].[Employees]

SQL Server

table="ALTOVA_ADMIN"."customers"

IBM DB2

Astuce :Avec DatabaseSpy, vous pouvez aisément obtenir le nom de table complet en cliquant avec la touche de droite sur la table dans le Navigateur en ligne, puis en sélectionnant Afficher dans le nouvel Éditeur SQL | Chemin depuis le menu contextuel.

 

key-columns-by-name

Pour chaque table, mode et recordset, il doit y avoir au moins une colonne qui garantit le caractère unique de chaque ligne. Cette colonne (ou plusieurs colonnes) sera appelée ensuite la colonne "clé". Si la table a une clé primaire, une colonne clé existe et le caractère unique de la ligne est garanti. Sinon, nous vous recommandons de spécifier une ou plusieurs colonnes qui doivent être traitées en tant que colonnes "clé". Les colonnes ne doivent pas nécessairement faire partie d'une vraie clé primaire ou unique sur la table. Exemples :

 

key-columns-by-name="guid"

 

 

key-columns-by-name="first_name","last_name","email"

 

La définition des colonnes "key" est optionnelle, mais nous vous recommandons fortement de le faire. Si vous ne définissez pas les colonnes "key", l'application les déterminera automatiquement, mais il se peut que cela ne fonctionne pas correctement pour tous les pilotes de base de données. De plus, la détection fonctionne uniquement pour les tables ou les modes, donc il est recommandé que vous définissez les colonnes "clés" explicitement si vous utilisez les requêtes SQL qui retournent des valeurs ou des résultats calculés retournés par des procédures stockées.

 

Si vous spécifiez les colonnes de clé, le nombre de colonnes de clé doit être le même pour la source de données "gauche" et "droite". Par exemple, si vous spécifiez deux colonnes de clé pour la source de données gauche et une seule colonne de clé pour la source de données de droite, la comparaison échouera avec une erreur.

 

key-columns-by-ordinal

Vous pouvez spécifier une colonne "clé" sauf par le nom (voir ci-dessus) ou par son nombre ordinal dans la table, en commençant avec 1. Cette option vous permet de spécifier des colonnes clé par leur nombre ordinal. Exemples :

 

key-columns-by-ordinal=1

 

 

key-columns-by-ordinal=1,2,5

 

 

Si vous spécifiez les colonnes de clé, le nombre de colonnes de clé doit être le même pour la source de données "gauche" et "droite".

 

user

Paramètres conditionnels. Spécifie le nom d'utilisateur requis pour se connecter à la base de données. Ce paramètre n'est pas nécessaire si la base de données accepte les connexions anonymes, ou si le string de connexion comprend déjà le nom d'utilisateur (voir le paramètre connection).

 

pass

Paramètres conditionnels. Spécifie le mot de passe requis pour se connecter à la base de données. Ce paramètre n'est pas nécessaire si la base de données accepte des connexions anonymes, ou si le string de connexion contient déjà le mot de passe (voir le paramètre de connection).

 

assembly

Cette option est obligatoire pour les connexions ADO.NET. Exemples :

 

assembly=System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Fournisseur de données .NET Framework pour SQL Server

assembly=IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26

Fournisseur de données .NET Framework pour IBM i

Exécuter la commande db-drivers pour consulter les assemblées .NET disponibles sur la machine locale, affichée dans un format que vous pouvez copier-coller.

 

 

class

Cette option est obligatoire pour les connexions ADO.NET et JDBC. Exemples :

 

class=com.ibm.db2.jcc.DB2Driver

IBM DB2 via JDBC

class=com.mysql.jdbc.Driver

MySQL via JDBC

class=System.Data.SqlClient

SQL Server via ADO.NET

Exécuter la commande db-drivers pour consulter les pilotes JDBC disponibles sur la machine locale, affichée dans un format que vous pouvez copier-coller.

 

sql

Paramètres conditionnels. Spécifie une requête SELECT dans la syntaxe de la base de données actuelle. Le recordset extrait par la requête SELECT peut être utilisé en tant que la partie gauche ou droite de la comparaison. Si vous définissez ce paramètre, il ne faut pas définir le paramètre table, parce qu'ils sont mutuellement exclusifs. Exemples :

 

sql="SELECT * FROM employees WHERE a > 5 and b < 6 ORDER BY c"

Requête SELECT

sql="EXEC dbo.uspGetEmployeeManagers @BusinessEntityID = 50"

Procédure stockée

 

Si vous spécifiez un appel de procédure stockée, il est attendu que la procédure stockée retourne un recordset, pas uniquement les paramètres de sortie.


© 2019 Altova GmbH