Exporter vers une base de données
Pour configurer l’exportation vers une base de données, procédez comme suit :
- Dans la fenêtre de l’éditeur de définitions de documents, sélectionnez l’option de menu Définition de document → Paramètres d'exportation....
- Cliquez sur Ajouter... puis sélectionnez Exporter vers une base de données compatible ODBC dans le champ Type.
- Spécifiez si l’exportation est obligatoire.
- Spécifiez si les images doivent être exportées.
- Spécifiez les documents (avec et/ou sans erreurs) devant être exportés puis cliquez sur Suivant>.
- Définissez les paramètres d’exportation puis cliquez sur Suivant>.
- Établissez une connexion avec une base de données. Saisissez les paramètres de connexion dans la fenêtre Chaîne de connexion ou cliquez sur le bouton Configurer... et configurez les paramètres de connexion dans la boîte de dialogue Propriétés de la liaison de données.
Fournisseurs et pilotes testés
- Sélectionnez un schéma dans la liste déroulante.
Travailler avec des schémas lors de l'utilisation de MS SQL
- Vous pouvez vérifier la connexion à la base de données en cliquant sur le bouton Tester la connexion.
- Cliquez sur le bouton Créer automatiquement des tableaux pour créer automatiquement de nouvelles tables dans la base de données où les données des documents seront exportées. Une table distincte sera créée pour chaque section de document. La structure et le format des champs des tables créées automatiquement correspondent à l'ensemble des champs de la définition de document et à leurs types de données.
Remarque : Avant l'exportation, ABBYY FlexiCapture demande à la base de données les informations sur tous les objets du système. Nous vous recommandons d'utiliser les système comportant un petit nombre d'objets pour l'exportation. Autrement, la création des tableaux peut prendre un temps considérable (jusqu'à plusieurs heures). - S'il vous faut exporter des données vers des tables existantes, établissez une correspondance entre les champs de la définition de document et les champs des tables de la base de données à l'aide du bouton Configurer le mappage de champs....
- Dans la boîte de dialogue Mappage de champ, spécifiez vers quelles tables et colonnes de tables de la base de données le programme doit exporter les valeurs de champs de la définition de document.
Détails...
Si une colonne vers laquelle les données d'un champ donné vont être exportées n'apparaît pas dans la table, elle peut être automatiquement ajoutée à la table existante. Dans cette optique, il suffit conserver la correspondance du champ de document avec le champ de la base de données en utilisant un nom similaire et la mention (auto) entre crochets. Vous pouvez également sélectionner le champ souhaité à l'aide de votre souris et cliquer sur le bouton Automatique.
Vous pouvez aussi utiliser le bouton Automatiquepour créer une nouvelle table dans la base de données ; son nom sera similaire à celui de la section ou du tableau de la définition de document. Si une nouvelle table, dont le nom et les légendes de colonnes diffèrent des noms des champs de la définition de document, doit être créée dans la boîte de dialogue des paramètres de correspondance des champs, utilisez le bouton Nouveau pour créer une table pour chaque champ.
Utilisez les boutons Déplacer vers le haut et Déplacer vers le bas pour gérer l'ordre de la séquence des colonnes de la table créée automatiquement dans la base de données.
Utilisez le bouton Format... pour configurer les paramètres d'enregistrement des champs généralisés ; par exemple, le nombre de chiffres décimaux de la valeur du champ de type Nombre, ou le format ou les séparateurs d'un champ de type Données.
Remarque : Lorsque vous exportez un champ de type de données Heure, une colonne correspondante de type DateTime doit être créée dans la table de la base de données. Par défaut, la colonne de type SmallDateTime est créée, ce qui provoque une erreur.
- Si des images doivent être enregistrées (images de documents et/ou images de champs de type Image graphique), définissez les options d'enregistrement d'images, puis cliquez sur Suivant>.
- Spécifiez si les images doivent être enregistrées dans la base de données ou dans des fichiers.
- Si vous choisissez d’enregistrer les images dans des fichiers, sélectionnez un modèle de dénomination de fichiers (cliquez sur Éditer...) et à quel moment les fichiers doivent être écrasés si leurs noms coïncident. Pour plus d'informations, consultez Critères de dénomination de fichiers d’exportation.
- Si nécessaire, spécifiez les champs à masquer après exportation.
Remarque : Le contenu des champs de type Image graphique et les images de documents peuvent être exportés vers le système de fichiers ou vers une base de données, cela dépend de l'option sélectionnée.
Lorsque vous exportez vers des fichiers distincts, le nom et le chemin d'accès d'une image graphique ou d'un fichier image sont stockés dans le champ correspondant de la base de données (se configure lorsque vous établissez une correspondance entre les champs). Si un disque réseau est spécifié comme chemin d'accès de dossier d'exportation (pour les images, les images graphiques, etc.), assurez-vous que tous les postes utilisant ce disque peuvent y accéder. Une procédure spéciale vous permet de convertir une image binaire de n'importe quelle base de données en un fichier.
Remarque : Lorsque vous exportez des images vers des fichiers distincts, la longueur de la chaîne de stockage des chemins des fichiers peut excéder 255 caractères, mais un message d'erreur apparaîtra. Dans ce cas, vous devez augmenter la limite de caractères pour la colonne donnée.
- Si l'option permettant d'enregistrer des images a été sélectionnée, définissez un format d'enregistrement et cliquez sur Suivant>.
- Sélectionnez le format d’image ainsi que la qualité et que la couleur souhaités.
- Pour modifier la résolution des images sources, sélectionnez Changer la résolution en puis sélectionnez la valeur appropriée dans la liste.
- Si vous avez sélectionné le format PDF ou PDF/A comme format de stockage, vous pouvez créer des fichiers PDF interrogeables.
- Saisissez un nom de profil d’exportation puis cliquez sur Terminer.
Remarque :
- Les images sont exportées dans des fichiers distincts. Vous pouvez enregistrer le nom et le chemin d’accès du fichier image dans le champ correspondant de la base de données (vous pouvez effectuer ces opérations lors du mappage des champs).
- Si le chemin d’accès du dossier cible des images, des images graphiques, etc. comporte un disque réseau, vérifiez que tous les postes de traitement travaillant sur le projet bénéficient d’un accès à ce disque.
Détails sur la configuration de l'exportation de données via les procédures stockées dans la base de données
En plus d'exporter directement les données vers les tables de la base de données, il est possible d'enregistrer des données dans la base de données en utilisant les procédures stockées.
Une procédure stockée est un objet de la base de données représentant un ensemble d'instructions SQL qui sont d'abord compilées, puis stockées sur le serveur. Les procédures stockées peuvent être utilisées pour effectuer des calculs et des opérations numériques sur les données des caractères, dont les résultats peuvent être attribués à des variables et à des paramètres. Ils peuvent aussi être utilisés pour effectuer des opérations standard avec la base de données.
Voici les avantages qu'offrent les procédures stockées par rapport à l'exportation directe vers la base de données :
- Rapidité d'utilisation de la base de données
- Possibilité d'utiliser des calculs supplémentaires
- Assurance de l'intégrité des données
Un exemple de procédure stockée pour MS SQL :
Create procedure Export( @userId as int, @lastName as nvarchar(255), @firstName as nvarchar(255) )
as
begin
if Exists( Select Id from Users where Id = @userId ) begin
Update Users set LastName = @lastName, FirstName=@firstName where Id = @userId
end else begin
Insert into Users ( Id, LastName, FirstName ) values( @userId, @lastName, @firstName
)
end
end
Lorsque vous envoyez des données de FlexiCapture vers la base de données en vous servant de la procédure ci-dessus, les actions suivantes sont effectuées :
Les trois paramètres transmis à la saisie de la procédure sont les champs d'un document FlexiCapture :
- un identificateur (UserId) ;
- le prénom (FirstName) ;
- le nom de famille (LastName).
S'il n'y a pas d'entrée comportant un identificateur dans la table de la base de données (Users), une nouvelle entrée est ajoutée à la table. Si une entrée comporte cet identificateur, les valeurs du prénom et du nom de famille de cette entrée sont remplacées par les nouvelles valeurs (les valeurs des champs de FlexiCapture).
Configuration de l'exportation via les procédures stockées
Afin de configurer l'exportation via les procédures stockées, il est d'abord nécessaire d'établir une connexion à la base de données (voir plus haut). En outre, cliquez sur Configurer le mappage de champs... to determine correspondence of document fields to parameters of the stored procedure.
Dans la boîte de dialogue Configurer le mappage de champs..., sélectionnez la procédure requise dans la liste des procédures stockées des tables et de la base de données pour enregistrer les données.
Contrairement à la configuration de l'exportation directe vers les colonnes d'une table de la base de données, les champs soumis à l'exportation sont les paramètres d'une procédure stockée. Les paramètres des procédures sont généralisés. Pour le mappage, le type de paramètre doit coïncider avec le type de données du champ de la définition de document.
Mappez les champs du document et les paramètres de la procédure stockée de la base de données.
Remarque : Il est nécessaire d'exporter non seulement les champs distincts du document, mais également les tableaux et les champs complexes (par exemple : les champs contenant quelques instances). Vous devez configurer les index appropriés afin d'associer les entrées enfants et l'entrée de données du document principal. Définissez la valeur de retour (@RETURN_VALUE) ou un paramètre de sortie de la procédure stockée comme étant une clé primaire exportable (ROW_INDEX). Ainsi, lorsque vous exporterez des données, la procédure écrira des données dans la table de la base de données et retournera l'identificateur à l'entrée actuelle, qui sera transmis à la procédure stockée pour l'exportation des entrées enfants.
Exporter vers une base de données Oracle
Nous vous recommandons d'utiliser le plan d'autorisations utilisé pour les utilisateurs lors de l'exportation des données vers les bases de données.
Les paramètres suivants doivent être spécifiés afin d'exporter les données :
- Rôle : Connect
- Privilèges :
- CREATE ANY TABLE pour créer un tableau
- INSERT ANY TABLE et UNLIMITED TABLESPACE pour exporter les données
Remarque : Vous n'avez besoin d'aucun privilège pour configurer la boîte de dialogue Mappage de champ.
Remarque : Si vous utilisez une base de données Oracle, nous vous déconseillons d'utiliser des noms de champs de plus de 30 caractères dans vos définitions de document. Les noms plus longs seront tronqués lors de l'exportation vers des bases de données Oracle.
12.04.2024 18:16:03