Zum Hauptinhalt springen
Gehen Sie wie folgt vor, um den Export in eine Datenbank zu konfigurieren:
  1. Wählen Sie im Fenster Dokumentdefinition Editor den Menüpunkt Dokumentdefinition → Export Settings… aus.
  2. Klicken Sie auf Add… und wählen Sie im Feld Type die Option Export to ODBC-compatible database aus.
  3. Geben Sie an, ob der Export erforderlich ist.
  4. Geben Sie an, ob Bilder exportiert werden sollen.
  5. Geben Sie an, welche Dokumente (mit und/oder ohne Fehler) exportiert werden sollen, und klicken Sie auf Next>.
  6. Geben Sie die Exporteinstellungen an und klicken Sie auf Next>.
    • Stellen Sie eine Verbindung mit einer Datenbank her. Geben Sie die Verbindungsparameter im Fenster Connection string ein oder klicken Sie auf die Schaltfläche Setup… und konfigurieren Sie die Verbindungsparameter im Dialogfeld Data Link Properties.
Für eine Microsoft SQL 2016 SP2-, 2017- oder 2019-Datenbank:
  1. Provider - OLE DB Provider for ODBC Drivers Hinweis: Die Auswahl von “OLE DB Provider for SQL Server” kann bei der Arbeit mit bestimmten Datentypen und langen Feldern Probleme verursachen.
  2. Driver - SQL Server
Für eine Access 2003-, 2007- oder 2010-Datenbank:
  1. Provider - OLE DB Provider for ODBC Drivers
  2. Driver - Microsoft Access Driver (Driver do Microsoft Access oder Microsoft Access-Treiber) Hinweis: Um die 64-Bit-Version von FlexiCapture mit der Access-Datenbank zu verbinden, müssen Sie die 64-Bit-Version des Treibers Access Database Engine x64 installieren.
Für eine Oracle 10g-, 11g- oder 12c-Datenbank:
  1. Provider - Oracle Provider for OLE DB
  2. Die Auswahl des Treibers ist nicht erforderlich Weitere Informationen finden Sie unter Export in eine Oracle-Datenbank.
Für eine PostgreSQL-Datenbank:
  1. Provider - OLE DB Provider for ODBC Drivers
  2. Die Auswahl des Treibers ist nicht erforderlich
Der Provider und der Treiber müssen auf dem Computer verfügbar sein, auf dem der Export ausgeführt wird.
  • Wählen Sie ein Schema aus der Dropdown-Liste aus.
Bei der Arbeit mit Microsoft SQL (Export, Caching, Regelverwaltung) müssen Sie kein Schema angeben. Wenn Sie das Feld leer lassen, wird automatisch das Schema dbo verwendet. Bei der Arbeit mit PostgreSQL geben Sie das Schema public an.
Wenn eine Datenbank keine Tabellen enthält, wird das Schema dbo nicht in der Liste der Schemata angezeigt. Um mit dem Schema dbo weiterzuarbeiten, wählen Sie im Schemafeld den leeren Wert aus.
  • Sie können die Datenbankverbindung prüfen, indem Sie auf die Schaltfläche Test Connection klicken.
  • Klicken Sie auf die Schaltfläche Create Tables Automatically, um automatisch neue Tabellen in der Datenbank zu erstellen, in die Daten aus Dokumenten exportiert werden. Für jeden Dokumentabschnitt wird eine separate Tabelle erstellt. Die Struktur und die Feldformate der automatisch erstellten Tabellen entsprechen den Dokumentdefinition-Feldern und deren Datentypen. Hinweis: Vor dem Export fragt ABBYY FlexiCapture die Datenbank nach Informationen zu allen Objekten des Schemas ab. Es wird empfohlen, für den Export Schemata mit einer kleinen Anzahl von Objekten zu verwenden. Andernfalls kann das Erstellen der Tabellen sehr lange dauern (bis zu mehreren Stunden).
  • Wenn Daten in vorhandene Tabellen einer Datenbank exportiert werden müssen, stellen Sie mit der Schaltfläche Feldzuordnung einrichten… eine Zuordnung zwischen den Dokumentdefinition-Feldern und den Feldern der Datenbanktabellen her.
  • Geben Sie im Dialogfeld „Feldzuordnung“ an, in welche Tabellen und Tabellenspalten der Datenbank das Programm die Feldwerte der Dokumentdefinition exportieren soll.
Das Dialogfeld „Feldzuordnung“ enthält links Dokumentabschnitte und Felder. Rechts müssen Sie diese den Tabellen und Feldern in der Datenbank zuordnen. Wenn die Datenbank bereits Tabellen für den Datenexport enthält, müssen Sie im Dialogfeld „Feldzuordnung“ für jeden Dokumentabschnitt eine Datenbanktabelle und für jedes Dokumentfeld eine Spalte einer Datenbanktabelle auswählen. (Neben dem direkten Export in Datenbanktabellen können Daten auch mithilfe von gespeicherten Prozeduren in einer Datenbank gespeichert werden. Weitere Informationen finden Sie unter Besonderheiten beim Konfigurieren des Datenexports mithilfe gespeicherter Datenbankprozeduren.) Wenn die Datenbank keine Tabellen für den Export enthält, können Sie Datenbanktabellen automatisch erstellen, indem Sie auf die Schaltfläche Create Tables Automatically klicken. Danach erstellt das Programm Tabellen mit der Struktur, die Sie für den Export benötigen. Dokumentfelder werden den Tabellenspalten zugeordnet. Feldgruppen, Felder mit mehreren Instanzen und Dokumenttabellen werden in separate Tabellen in der Datenbank exportiert. Ein Primärschlüssel und ein Fremdschlüssel werden verwendet, um die Haupttabelle mit untergeordneten Tabellen zu verknüpfen. In der Haupttabelle wird jedem Eintrag ein Primärschlüssel hinzugefügt. In der untergeordneten Tabelle besitzt jeder Eintrag einen Fremdschlüssel, der den Wert des Primärschlüssels des entsprechenden Eintrags in der Haupttabelle speichert. Primär- und Fremdschlüssel werden bei Bedarf automatisch hinzugefügt. Sie müssen nur das Feld angeben, in das der Schlüssel exportiert werden soll. Wählen Sie für jedes Dokumentfeld eine Spalte einer Datenbanktabelle aus. Wenn in der Tabelle eine Spalte fehlt, in die Daten aus einem Feld exportiert werden sollen, kann sie automatisch zur vorhandenen Tabelle hinzugefügt werden. Dazu genügt es, die Zuordnung des Dokumentfelds zu einem Datenbankfeld mit ähnlichem Namen und dem Kommentar (auto) in Klammern beizubehalten. Alternativ können Sie das gewünschte Feld mit der Maus auswählen und auf die Schaltfläche Auto klicken. Sie können die Schaltfläche Auto auch verwenden, um in der Datenbank eine neue Tabelle zu erstellen, deren Name dem Abschnitts- oder Tabellennamen der Dokumentdefinition ähnelt. Wenn im Dialogfeld für die Feldzuordnung eine neue Tabelle erstellt werden soll, deren Name und Spaltenüberschriften von den Feldnamen der Dokumentdefinition abweichen, verwenden Sie die Schaltfläche New, um für jedes Feld eine Tabelle zu erstellen. Verwenden Sie die Schaltflächen Move Up und Move Down, um die Reihenfolge der Spalten in der automatisch erstellten Datenbanktabelle festzulegen. Verwenden Sie die Schaltfläche Format…, um Parameter für das Speichern typisierter Felder zu konfigurieren, z. B. die Anzahl der Dezimalstellen im Feldwert des Typs Number oder das Format und die Trennzeichen für ein Feld des Typs Data.
Beim Export eines Felds vom Datentyp Time muss in der Datenbanktabelle eine entsprechende Spalte vom Typ DateTime erstellt werden. Standardmäßig wird eine Spalte vom Typ SmallDateTime erstellt, was zu einem Fehler führt.
  1. Wenn Bilder gespeichert werden sollen (Dokumentbilder und/oder Feldbilder vom Typ Picture), geben Sie die Optionen zum Speichern der Bilder an und klicken Sie auf Next>.
    • Geben Sie an, ob die Bilder in der Datenbank oder als Dateien gespeichert werden sollen.
    • Wenn Sie Bilder als Dateien speichern möchten, geben Sie eine Vorlage für die Dateibenennung an (klicken Sie auf Edit…) und legen Sie fest, wann Dateien überschrieben werden sollen, falls ihre Namen identisch sind. Weitere Informationen finden Sie unter Optionen für die Benennung von Exportdateien.
    • Geben Sie bei Bedarf die Felder an, die beim Export ausgeblendet werden sollen.
Je nach ausgewählter Option können die Inhalte von Feldern vom Typ Picture und Dokumentbilder in das Dateisystem oder in eine Datenbank exportiert werden. Beim Export in separate Dateien werden der Name und der Pfad zu einer Grafik- oder Bilddatei im entsprechenden Feld einer Datenbank gespeichert (dies wird beim Einrichten der Feldzuordnung konfiguriert). Wenn als Pfad zu einem Exportordner (für Bilder, Grafiken usw.) ein Netzlaufwerk angegeben ist, stellen Sie sicher, dass alle Stationen, die mit diesem Laufwerk arbeiten, darauf zugreifen können. Mit einem speziellen Verfahren können Sie ein binäres Bild aus jeder Datenbank in eine Datei umwandeln. Hinweis: Beim Exportieren von Bildern in separate Dateien kann die Länge eines string, der Dateipfade speichert, 255 Zeichen überschreiten; in diesem Fall wird eine Fehlermeldung ausgegeben. Erhöhen Sie dann die Zeichenbegrenzung für die betreffende Spalte.
  1. Wenn die Option zum Speichern von Bildern ausgewählt wurde, geben Sie ein Dateispeicherformat an und klicken Sie auf Next>.
    • Wählen Sie das gewünschte Bildformat, die Qualität und die Farbe aus.
    • Um die Auflösung der Quellbilder zu ändern, wählen Sie Change resolution to aus und wählen Sie den entsprechenden Wert aus der Liste.
    • Wenn Sie PDF oder PDF/A als Speicherformat auswählen, können Sie durchsuchbare PDF-Dateien erstellen.
  2. Geben Sie einen Namen für das Exportprofil ein und klicken Sie auf Finish.
  3. Bilder werden in separate Dateien exportiert. Der Name und der Pfad zur Bilddatei können im entsprechenden Feld der Datenbank gespeichert werden (dies kann beim Zuordnen von Feldern eingerichtet werden).
  4. Wenn der Pfad zum Zielordner für Bilder, Grafiken usw. über ein Netzlaufwerk führt, stellen Sie sicher, dass alle Verarbeitungsstationen, die mit dem Projekt arbeiten, Zugriff auf dieses Laufwerk haben.

Besonderheiten beim Konfigurieren des Datenexports mithilfe gespeicherter Datenbankprozeduren

Neben dem direkten Export von Daten in Datenbanktabellen können Daten auch mithilfe gespeicherter Prozeduren in der Datenbank gespeichert werden. Eine gespeicherte Prozedur ist ein Datenbankobjekt, das aus einer Menge von SQL-Anweisungen besteht, die einmal kompiliert und anschließend auf dem Server gespeichert werden. Gespeicherte Prozeduren können verwendet werden, um numerische Berechnungen und Operationen mit Zeichendaten durchzuführen, deren Ergebnisse Variablen und Parametern zugewiesen werden können, sowie um Standardoperationen mit Datenbanken auszuführen. Vorteile der Verwendung gespeicherter Prozeduren gegenüber dem direkten Export in Datenbanktabellen:
  • Schnellere Arbeit mit der Datenbank
  • Möglichkeit zusätzlicher Berechnungen
  • Gewährleistung der Datenintegrität
Ein Beispiel für eine freigegebene Prozedur für 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
Wenn Daten aus FlexiCapture mithilfe der obigen Prozedur an die Datenbank gesendet werden, werden die folgenden Aktionen ausgeführt: Die drei Parameter, die an die Prozedur übergeben werden, sind die Felder eines FlexiCapture-Dokuments:
  • ein Bezeichner (UserId);
  • der Vorname (FirstName);
  • der Nachname (LastName).
Wenn die Datenbanktabelle (Users) keinen Eintrag mit einem solchen Bezeichner enthält, wird der Tabelle ein neuer Eintrag hinzugefügt. Wenn ein Eintrag mit einem solchen Bezeichner vorhanden ist, werden die Werte für Vor- und Nachname in diesem Eintrag durch neue Werte ersetzt (die Werte der FlexiCapture-Felder).

Konfigurieren des Exports mithilfe gespeicherter Prozeduren

Um den Export mithilfe gespeicherter Prozeduren zu konfigurieren, muss zunächst eine Verbindung zur Datenbank hergestellt werden (siehe oben). Klicken Sie anschließend auf Feldzuordnung einrichten…, um die Zuordnung der Dokumentfelder zu den Parametern der gespeicherten Prozedur festzulegen. Wählen Sie im Dialogfeld Feldzuordnung einrichten… aus der Liste der Tabellen und gespeicherten Datenbankprozeduren die gewünschte gespeicherte Prozedur zum Speichern von Daten aus. Anders als bei der direkten Konfiguration des Exports in die Spalten einer Datenbanktabelle sind die für den Export vorgesehenen Felder hier die Parameter einer gespeicherten Prozedur. Prozedurparameter sind typisiert. Für die Zuordnung muss der Parametertyp mit dem Datentyp des Felds in der Dokumentdefinition übereinstimmen. Ordnen Sie die Dokumentfelder den Parametern der gespeicherten Datenbankprozedur zu.
Wenn nicht nur einzelne Felder aus dem Dokument exportiert werden sollen, sondern auch Tabellen und komplexe Felder (z. B. Felder mit mehreren Instanzen), müssen Sie die richtigen Indizes einrichten, um untergeordnete Einträge mit dem Haupteintrag der Dokumentdaten zu verknüpfen. Geben Sie den Rückgabewert (@RETURN_VALUE) oder einen Ausgabeparameter der gespeicherten Prozedur als exportierbaren Primärschlüssel (ROW_INDEX) an. Beim Exportieren schreibt die Prozedur dann Daten in die Datenbanktabelle und gibt den Bezeichner des aktuellen Eintrags zurück, der an die gespeicherte Prozedur zum Exportieren untergeordneter Einträge übergeben wird.

Export in eine Oracle-Datenbank

Wir empfehlen, beim Exportieren von Daten in Datenbanken dasselbe Autorisierungsschema wie für Benutzer zu verwenden. Für den Datenexport müssen die folgenden Parameter angegeben werden:
  1. Rolle: Connect
  2. Berechtigungen:
    • CREATE ANY TABLE zum Erstellen einer Tabelle
    • INSERT ANY TABLE und UNLIMITED TABLESPACE zum Exportieren von Daten
Sie benötigen keine Berechtigungen, um das Dialogfeld „Feldzuordnung“ einzurichten.
Wenn Sie eine Oracle-Datenbank verwenden, raten wir davon ab, in Ihren Dokumentdefinitionen Feldnamen mit mehr als 30 Zeichen zu verwenden. Längere Namen werden beim Export in Oracle-Datenbanken gekürzt.