> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Datenbank manuell erstellen

> Erstellen Sie eine FlexiCapture-Datenbank manuell: Erstellen Sie eine leere Datenbank, führen Sie die Skripte Description und DBInitFill aus, weisen Sie eine GUID zu und fügen Sie den ersten Administrator hinzu.

Sie können eine FlexiCapture-Datenbank manuell erstellen, statt sie über die Administration and Monitoring Console zu erstellen. Erstellen Sie zunächst eine leere Datenbank und initialisieren und konfigurieren Sie sie anschließend.

<div id="create-a-blank-database">
  ## Eine leere Datenbank erstellen
</div>

Erstellen Sie für Microsoft SQL Server oder Oracle mit Ihren üblichen Datenbankverwaltungstools eine leere Datenbank und fahren Sie dann mit [Datenbank initialisieren und konfigurieren](#initialize-and-configure-the-database) fort.

Erstellen Sie für PostgreSQL die Datenbank mit dem psql-Client:

1. Stellen Sie mit einem Konto, das über `CREATEDB`+`CREATEROLE`- oder `SUPERUSER`-Berechtigungen verfügt, eine Verbindung zum PostgreSQL-Server her:

   ```bash theme={null}
   psql -h srvname -U postgres
   ```

2. Erstellen Sie ein Benutzerkonto mit einem vordefinierten Kennwort und dem Recht, sich am Server anzumelden (hier und in den folgenden Schritten ist `rolename` Ihr Benutzername):

   ```sql theme={null}
   CREATE ROLE rolename WITH ENCRYPTED PASSWORD 'rolepwd' LOGIN;
   ```

3. Erstellen Sie eine neue Datenbank (hier und in den folgenden Schritten ist `dbname` Ihr Datenbankname):

   ```sql theme={null}
   CREATE DATABASE dbname;
   ```

4. Gewähren Sie dem Benutzer die Berechtigung, eine Verbindung zur Datenbank herzustellen und temporäre Tabellen zu erstellen:

   ```sql theme={null}
   GRANT CONNECT, TEMPORARY ON DATABASE dbname TO rolename;
   ```

5. Geben Sie dem fc-Schema Vorrang vor dem public-Schema:

   ```sql theme={null}
   ALTER DATABASE dbname SET search_path = "$user", fc, public;
   ```

6. Stellen Sie eine Verbindung zur neu erstellten Datenbank her:

   ```sql theme={null}
   \c dbname
   ```

7. Erstellen Sie ein fc-Schema und legen Sie den von Ihnen erstellten Benutzer als Eigentümer fest:

   ```sql theme={null}
   CREATE SCHEMA fc AUTHORIZATION rolename;
   ```

8. Erstellen Sie in der Datenbank eine ltree-Erweiterung:

   ```sql theme={null}
   CREATE EXTENSION IF NOT EXISTS ltree;
   ```

9. Trennen Sie die Verbindung zum PostgreSQL-Server.

<Warning>
  Führen Sie alle nachfolgenden Operationen in der PostgreSQL-Datenbank unter diesem Benutzerkonto aus.
</Warning>

<div id="initialize-and-configure-the-database">
  ## Datenbank initialisieren und konfigurieren
</div>

Nachdem die leere Datenbank erstellt wurde, führen Sie die folgenden Schritte aus. Wenn sich die Datenbanksysteme unterscheiden, führen Sie die Variante für Ihre Datenbank aus.

1. Führen Sie das Skript mit der Schemabeschreibung für Ihre Datenbank aus:

   * Microsoft SQL Server: `Description.sql`
   * Oracle: `Description_Oracle.sql`
   * PostgreSQL: `Description_PostgreSQL.sql`

   Standardmäßig befinden sich diese Skripte im Ordner `C:\inetpub\wwwroot\FlexiCapture12\Server` auf dem Computer, auf dem der Application Server installiert ist.

2. Führen Sie das Dateninitialisierungsskript für Ihre Datenbank aus:

   * Microsoft SQL Server: `DBInitFill.sql`
   * Oracle: `DBInitFill_Oracle.sql`
   * PostgreSQL: `DBInitFill_PostgreSQL.sql`

3. Geben Sie einen eindeutigen Bezeichner für die Datenbank an.

   Microsoft SQL Server:

   ```sql theme={null}
   INSERT INTO dbo.Settings( Name, Value, ProjectId, BatchTypeId, UserId, Workstation, RoleId, ProcessingStage) VALUES ('DatabaseGUID', NEWID(), NULL, NULL, NULL, NULL, NULL, NULL )
   ```

   PostgreSQL:

   ```sql theme={null}
   INSERT INTO Settings (Name, Value)
   VALUES ('DatabaseGUID', upper(md5(clock_timestamp()::text)::uuid::text));
   ```

4. Fügen Sie den ersten Benutzer hinzu.

   Microsoft SQL Server:

   ```sql theme={null}
   INSERT INTO principal (Name, FullName, EMail, PasswordHash, PasswordReset) values (N'Login', N'FullName', N'email', '', 0)
   ```

   PostgreSQL:

   ```sql theme={null}
   INSERT INTO Principal (Name, FullName, Email, PasswordHash, PasswordReset) values ('Login', 'FullName', 'email', '', false);
   ```

   Dabei gilt:

   * **Login** — Der Login, den der Benutzer verwendet. Geben Sie den Login des Windows-Benutzers an, der beim Herstellen der Verbindung zur Datenbank die Administration and Monitoring Console öffnet.
   * **FullName** — Der vollständige Name des Benutzers, wie er in seinem Profil angezeigt wird.
   * **Email** — Die E-Mail-Adresse des Benutzers.

5. Weisen Sie dem neuen Benutzer die Rollen des Systemadministrators zu.

   Microsoft SQL Server:

   ```sql theme={null}
   INSERT INTO principalpermission (PrincipalId, RoleType, IsAllowed) values (1, 10, 1);
   ```

   PostgreSQL:

   ```sql theme={null}
   INSERT INTO principalpermission (PrincipalId, RoleType, IsAllowed) values (1, 10, true);
   ```

6. Stellen Sie mit der Administration and Monitoring Console eine Verbindung zur neu erstellten Datenbank her.

Weitere Informationen zu den Berechtigungen, die ein Konto zum Erstellen und Konfigurieren einer Datenbank benötigt, finden Sie unter [Eine Datenbank erstellen](/de/flexi-capture/admin-guide/create-database).
