> ## 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.

# Création manuelle d’une base de données

> Créez une base de données FlexiCapture manuellement : créez une base de données vide, exécutez les scripts Description et DBInitFill, attribuez un GUID et ajoutez le premier administrateur.

Vous pouvez créer une base de données FlexiCapture à la main au lieu de la créer depuis l’Administration and Monitoring Console. Commencez par créer une base de données vide, puis initialisez-la et configurez-la.

<div id="create-a-blank-database">
  ## Créer une base de données vide
</div>

Pour Microsoft SQL Server ou Oracle, créez une base de données vide à l’aide de vos outils habituels de gestion de base de données, puis passez à [Initialiser et configurer la base de données](#initialize-and-configure-the-database).

Pour PostgreSQL, créez la base de données depuis le client psql :

1. Connectez-vous au serveur PostgreSQL à l’aide d’un compte disposant des privilèges `CREATEDB`+`CREATEROLE` ou `SUPERUSER` :

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

2. Créez un compte d’utilisateur avec un mot de passe prédéfini et le droit de se connecter au serveur (ici et dans les étapes suivantes, `rolename` est votre nom d’utilisateur) :

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

3. Créez une nouvelle base de données (ici et dans les étapes suivantes, `dbname` est le nom de votre base de données) :

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

4. Accordez à l’utilisateur les droits de se connecter à la base de données et de créer des tables temporaires :

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

5. Donnez la priorité au schéma fc sur le schéma public :

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

6. Connectez-vous à la base de données nouvellement créée :

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

7. Créez un schéma fc et définissez l’utilisateur que vous avez créé comme propriétaire :

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

8. Créez une extension ltree dans la base de données :

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

9. Déconnectez-vous du serveur PostgreSQL.

<Warning>
  Effectuez toutes les opérations suivantes sur la base de données PostgreSQL avec ce compte d’utilisateur.
</Warning>

<div id="initialize-and-configure-the-database">
  ## Initialiser et configurer la base de données
</div>

Une fois la base de données vide créée, suivez les étapes ci-dessous. Si les moteurs de base de données diffèrent, exécutez la variante correspondant à votre base de données.

1. Exécutez le script de description du schéma pour votre base de données :

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

   Par défaut, ces scripts se trouvent dans le dossier `C:\inetpub\wwwroot\FlexiCapture12\Server` sur l’ordinateur où le serveur d’applications est installé.

2. Exécutez le script d’initialisation des données pour votre base de données :

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

3. Attribuez un identifiant unique à la base de données.

   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. Ajoutez le premier utilisateur.

   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);
   ```

   Où :

   * **Login** — Le login que l’utilisateur utilisera. Indiquez le login de l’utilisateur Windows qui ouvrira l’Administration and Monitoring Console lors de la connexion à la base de données.
   * **FullName** — Le nom complet de l’utilisateur tel qu’il apparaît dans son profil.
   * **Email** — L’adresse e-mail de l’utilisateur.

5. Spécifiez les rôles d’administrateur système pour le nouvel utilisateur.

   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. Connectez-vous à la base de données nouvellement créée à l’aide de l’Administration and Monitoring Console.

Pour plus de détails sur les autorisations requises pour qu’un compte puisse créer et configurer une base de données, consultez [Créer une base de données](/fr/flexi-capture/admin-guide/create-database).
