Passer au contenu principal
Pour configurer l’exportation vers une base de données, procédez comme suit :
  1. Dans la fenêtre Document Definition editor, sélectionnez l’élément de menu Document Definition → Paramètres d’exportation…
  2. Cliquez sur Add… et sélectionnez Export to ODBC-compatible database dans le champ Type.
  3. Indiquez si l’exportation est obligatoire.
  4. Indiquez si les images doivent être exportées.
  5. Indiquez quels documents (avec et/ou sans erreurs) doivent être exportés, puis cliquez sur Next>.
  6. Indiquez les paramètres d’exportation, puis cliquez sur Next>.
    • Établissez une connexion à une base de données. Saisissez les paramètres de connexion dans la fenêtre Connection string ou cliquez sur le bouton Setup… et configurez les paramètres de connexion dans la boîte de dialogue Data Link Properties.
Pour une base de données Microsoft SQL 2016 SP2, 2017 ou 2019 :
  1. Provider - OLE DB Provider for ODBC Drivers Remarque : la sélection de “OLE DB Provider for SQL Server” peut entraîner des problèmes avec certains types de données et les champs longs.
  2. Driver - SQL Server
Pour une base de données Access 2003, 2007 ou 2010 :
  1. Provider - OLE DB Provider for ODBC Drivers
  2. Driver - Microsoft Access Driver (Driver do Microsoft Access or Microsoft Access-Treiber) Remarque : pour connecter la version 64 bits de FlexiCapture à la base de données Access, vous devez installer la version 64 bits du pilote Access Database Engine x64.
Pour une base de données Oracle 10g, 11g ou 12c :
  1. Provider - Oracle Provider for OLE DB
  2. Il n’est pas nécessaire de sélectionner le pilote Pour plus de détails, voir Exportation vers une base de données Oracle.
Pour une base de données PostgreSQL :
  1. Provider - OLE DB Provider for ODBC Drivers
  2. Il n’est pas nécessaire de sélectionner le pilote
Le provider et le pilote doivent être disponibles sur l’ordinateur où l’exportation est effectuée.
  • Sélectionnez un schéma dans la liste déroulante.
Il n’est pas nécessaire de spécifier un schéma lorsque vous travaillez avec Microsoft SQL (exportation, mise en cache, gestion des règles). Si vous laissez ce champ vide, le schéma dbo sera utilisé automatiquement. Lorsque vous travaillez avec PostgreSQL, spécifiez le schéma public.
Si une base de données ne contient pas de tables, le schéma dbo n’apparaîtra pas dans la liste des schémas. Pour continuer à utiliser le schéma dbo, sélectionnez la valeur vide dans le champ du schéma.
  • Vous pouvez vérifier la connexion à la base de données en cliquant sur le bouton Test Connection.
  • Cliquez sur le bouton Create Tables Automatically pour créer automatiquement de nouvelles tables dans la base de données dans lesquelles 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 dans les tables créées automatiquement correspondent à l’ensemble des champs de Document Definition et à leurs types de données. Remarque : avant l’exportation, ABBYY FlexiCapture interroge la base de données pour obtenir des informations sur tous les objets du schéma. Il est recommandé d’utiliser, pour l’exportation, des schémas comportant peu d’objets. Sinon, la création des tables peut prendre beaucoup de temps (jusqu’à plusieurs heures).
  • S’il est nécessaire d’exporter des données vers des tables existantes d’une base de données, établissez une correspondance entre les champs de Document Definition et les champs des tables de la base de données à l’aide du bouton Set Up Field Mapping…
  • Dans la boîte de dialogue Field Mapping, indiquez dans quelles tables et colonnes de tables de la base de données le programme exportera les valeurs des champs de Document Definition.
La boîte de dialogue Field Mapping contient à gauche les sections et les champs du document. À droite, vous devez les associer aux tables et aux champs de la base de données. Si la base de données contient déjà des tables pour l’exportation des données, vous devez alors sélectionner dans la boîte de dialogue Field Mapping une table de base de données pour chaque section de document et une colonne de table de base de données pour chaque champ du document. (Outre l’exportation directe vers les tables de la base de données, il est possible d’enregistrer des données dans une base de données en utilisant des procédures stockées. Pour plus de détails, veuillez consulter Particularités de la configuration de l’exportation de données à l’aide de procédures stockées de bases de données.) Si la base de données ne comporte pas de tables pour l’exportation, vous pouvez créer automatiquement des tables de base de données en cliquant sur le bouton Create Tables Automatically. Après avoir cliqué dessus, le programme créera des tables présentant la structure requise pour l’exportation. Les champs du document seront mis en correspondance avec les colonnes des tables. Les groupes de champs, les champs comportant plusieurs occurrences et les tableaux de document sont exportés dans des tables distinctes de la base de données. Une clé primaire et une clé étrangère sont utilisées pour lier la table principale aux tables secondaires. Dans la table principale, une clé primaire est ajoutée à chaque enregistrement. Dans la table secondaire, chaque enregistrement comporte une clé étrangère qui stocke la valeur de la clé primaire de l’enregistrement correspondant dans la table principale. Les clés primaires et étrangères sont ajoutées automatiquement si nécessaire. Il vous suffit de spécifier le champ vers lequel la clé doit être exportée. Sélectionnez une colonne d’une table de base de données pour chaque champ du document. Si une colonne vers laquelle des données de certains champs doivent être exportées est absente de la table, elle peut être ajoutée automatiquement à la table existante. Pour cela, il suffit de conserver la correspondance entre le champ du document et le champ de base de données portant un nom similaire, avec le commentaire (auto) entre parenthèses. Vous pouvez également sélectionner le champ souhaité à l’aide de la souris et cliquer sur le bouton Auto. Vous pouvez également utiliser le bouton Auto pour créer dans la base de données une nouvelle table dont le nom sera similaire à celui de la section ou du tableau de la Document Definition. Si une nouvelle table, dont le nom et les en-têtes de colonnes diffèrent des noms des champs de la Document Definition, doit être créée dans la boîte de dialogue des paramètres de correspondance des champs, utilisez le bouton New pour créer une table pour chaque champ. Utilisez les boutons Move Up et Move Down pour gérer l’ordre des colonnes dans la table de base de données créée automatiquement. Utilisez le bouton Format… pour configurer les paramètres d’enregistrement des champs typés, par exemple le nombre de chiffres après la virgule dans la valeur d’un champ de type Number ou le format et les Separator d’un champ de type Data.
Lors de l’exportation d’un champ de type Time, une colonne correspondante de type DateTime doit être créée dans la table de la base de données. Par défaut, une colonne de type SmallDateTime est créée, ce qui entraîne une erreur.
  1. Si les images doivent être enregistrées (document images et/ou images de champ de type Picture), spécifiez les options d’enregistrement des images et cliquez sur Next>.
    • Indiquez si les images doivent être enregistrées dans la base de données ou sous forme de fichiers.
    • Si vous choisissez d’enregistrer les images dans des fichiers, spécifiez un modèle de dénomination des fichiers (cliquez sur Edit…) et indiquez quand les fichiers doivent être écrasés si leurs noms coïncident. Pour plus d’informations, voir Options de nommage des fichiers d’exportation.
    • Si nécessaire, spécifiez les champs à masquer lors de l’exportation.
Selon l’option sélectionnée, le contenu des champs de type Picture et les document images peuvent être exportés vers le système de fichiers ou vers une base de données. Lors de l’exportation vers des fichiers distincts, le nom et le chemin d’accès à un fichier picture ou image sont stockés dans le champ correspondant de la base de données (cela se configure lors de l’établissement de la correspondance des champs). Si un disque réseau est spécifié comme chemin vers un dossier d’exportation (pour les images, pictures, etc.), assurez-vous que toutes les stations travaillant avec ce disque peuvent y accéder. Une procédure spéciale vous permet de convertir en fichier une image binaire provenant de n’importe quelle base de données. Remarque : Lors de l’exportation d’images vers des fichiers distincts, la longueur d’une string stockant les chemins d’accès aux fichiers peut dépasser 255 caractères et provoquer un message d’erreur. Dans ce cas, vous devez augmenter la limite de caractères pour la colonne concernée.
  1. Si l’option d’enregistrement des images a été sélectionnée, spécifiez un format d’enregistrement de fichier et cliquez sur Next>.
    • Sélectionnez le format d’image, la qualité et la couleur souhaités.
    • Pour modifier la résolution des images source, sélectionnez Change resolution to, puis choisissez la valeur appropriée dans la liste.
    • Si vous sélectionnez PDF ou PDF/A comme format de stockage, vous pouvez créer des fichiers PDF interrogeables.
  2. Saisissez un nom de profil d’exportation et cliquez sur Finish.
  3. Les pictures sont exportées dans des fichiers distincts. Le nom et le chemin d’accès au fichier picture peuvent être stockés dans le champ correspondant de la base de données (cela peut être configuré lors de la mise en correspondance des champs).
  4. Si le chemin vers le dossier cible pour les images, pictures, etc. pointe vers un disque réseau, assurez-vous que toutes les Processing Station travaillant avec le projet ont accès à ce disque.

Particularités de la configuration de l’export de données à l’aide de procédures stockées de base de données

Outre l’export direct des données vers des tables de base de données, il est possible d’enregistrer des données dans une base de données à l’aide de procédures stockées. Une procédure stockée est un objet de base de données représentant un ensemble d’instructions SQL compilées une seule fois, puis stockées sur le serveur. Les procédures stockées peuvent être utilisées pour effectuer des calculs numériques et des opérations sur des données de type caractère, dont les résultats peuvent être affectés à des variables et à des paramètres, ainsi que pour exécuter des opérations standard sur des bases de données. Avantages de l’utilisation de procédures stockées par rapport à l’export direct vers des tables de base de données :
  • Rapidité du travail avec la base de données
  • Possibilité d’utiliser des calculs supplémentaires
  • Garantie de l’intégrité des données
Exemple de procédure stockée partagé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
Lors de l’envoi de données de FlexiCapture vers une base de données à l’aide de la procédure ci-dessus, les actions suivantes sont effectuées : Les trois paramètres transmis à la procédure en entrée correspondent aux champs d’un document FlexiCapture :
  • un identifiant (UserId) ;
  • le prénom (FirstName) ;
  • le nom de famille (LastName).
S’il n’existe aucune entrée avec cet identifiant dans la table de la base de données (Users), une nouvelle entrée est ajoutée à la table. Si une entrée avec cet identifiant existe, les valeurs du prénom et du nom de famille de cette entrée sont remplacées par de nouvelles valeurs (celles des champs FlexiCapture).

Configuration de l’exportation à l’aide de procédures stockées

Pour configurer l’exportation à l’aide de procédures stockées, vous devez d’abord établir une connexion à la base de données (voir ci-dessus). Cliquez ensuite sur Set Up Field Mapping… pour définir la correspondance entre les champs du document et les paramètres de la procédure stockée. Dans la boîte de dialogue Set Up Field Mapping…, sélectionnez dans la liste des tables et des procédures stockées de la base de données la procédure stockée requise pour enregistrer les données. Contrairement à la configuration de l’exportation directement vers les colonnes d’une table de base de données, les champs proposés à l’exportation sont les paramètres d’une procédure stockée. Les paramètres de procédure ont un type défini. Pour la mise en correspondance, le type du paramètre doit coïncider avec le type de données du champ de la Document Definition. Mettez en correspondance les champs du document et les paramètres de la procédure stockée de la base de données.
S’il est nécessaire d’exporter non seulement des champs distincts du document, mais aussi des tableaux et des champs complexes (par exemple, des champs avec plusieurs instances), vous devez définir correctement les indices afin de relier les entrées enfants à l’entrée principale des données du document. Spécifiez la valeur de retour (@RETURN_VALUE) ou un paramètre de sortie de la procédure stockée comme clé primaire exportable (ROW_INDEX). Ainsi, lors de l’exportation des données, la procédure écrira les données dans la table de base de données et renverra l’identifiant de l’entrée en cours, qui sera transmis à la procédure stockée pour l’exportation des entrées enfants.

Exportation vers une base de données Oracle

Nous recommandons d’utiliser, pour l’exportation de données vers des bases de données, le même schéma d’autorisation que pour les utilisateurs. Les paramètres suivants doivent être spécifiés pour exporter des données :
  1. Rôle : Connect
  2. Privilèges :
    • CREATE ANY TABLE pour créer une table
    • INSERT ANY TABLE et UNLIMITED TABLESPACE pour exporter des données
Vous n’avez besoin d’aucun privilège pour configurer la boîte de dialogue Field Mapping.
Si vous utilisez une base de données Oracle, nous vous déconseillons d’utiliser dans vos Document Definitions des noms de champ de plus de 30 caractères. Les noms plus longs seront tronqués lors de l’exportation vers des bases de données Oracle.