Depending on your setup, you may need to create a new database or connect to an existing database.
- On the computer where the Application Server is installed, install
Note: You don’t need to install Microsoft SQL Server Native Client if you have Microsoft SQL Server 2016 SP2 or later or Microsoft SQL Management Studio 2016 SP2 or later installed.
- On the computer where the Application Server is installed, open the Administration and Monitoring Console and click Service → Application Server to open the page https://<ApplicationServer>/FlexiCapture12/Monitoring/#Settings/DbConn (where <ApplicationServer> is the name of the computer on which the Application Server is installed) under the Windows administrator account:

- Click the Create New Database button.
- The database creation page will open:
Database creation page (ORACLE):
Database creation page (ORACLE):

Database creation page (MS SQL):
Database creation page (MS SQL):

Database creation page (Azure):
Database creation page (Azure):

Database creation page (PostgreSQL):
Database creation page (PostgreSQL):

- The name of the Server instance in the format <server name><instance name>
- The name of the new database for Microsoft SQL Server, Azure or PostgreSQL. Note the limitations imposed by Microsoft SQL Server on database names (see this Microsoft website for details)
- A user account that has the necessary permissions for Microsoft SQL Server, Azure, Oracle or PostgreSQL.
- A user who connects to the Oracle database must have the “DBA” WITH ADMIN OPTION role and the EXECUTE on “SYS”.”DBMS_LOCK” privilege. Note the Oracle restrictions regarding user names (please refer to the Oracle website for details).
- We recommend choosing the TCP/IP protocol rather than Named Pipes to communicate with the database server (the protocol is specified when you configure the Microsoft SQL Server client, which is installed on the computer hosting the Application Server).
- To create a PostgreSQL database, CREATEDB+CREATEROLE or SUPERUSER role attributes are required. A user account with the necessary permissions will be created automatically. The user name is specified in the FCUser12_DatabaseName format, where DatabaseName is the name of the database.
- Select the Use external file storage option and specify the path to the file storage. For details, see the Setting up a file storage section.The file storage stores binary data, such as images to be processed, project settings, captured data, etc. The speed of communication between the Application Server and the file storage greatly affects the overall performance of ABBYY FlexiCapture. For this reason, we recommend placing the file storage on the same disk as the Application Server.
Note
Note
If no file storage is used, all project files are stored in the database. Note, however, that this approach is only feasible for small projects with low processing volumes. While storing project files in the database makes it easier to back up and recover your data, the size of the database may become unacceptably large, causing performance degradation.
- Use the Test Connection button to check the entered values. If the test is successful, click OK.

see details...
see details...
- A FlexiCapture 12 database will be created. If server authentication is used, the database will be created using the account specified on the page that opens when you click Settings → Application Server → Connect to Existing Database/CreateNew Database in the Administration and Monitoring Console. If Windows authentication is used, the database will be created using the account under which the browser displaying the Application Server is running.
- A new account will be added on the Database Server. This will be the account under which the FlexiCapture 12 Web Services application pool is running on the Application Server (the Network Service user account will be used default).
- The account created in step 2 will be given db_owner permissions for the FlexiCapture12 database created in step 1. For any further interaction between the Application Server and the database, the user account created in step 2 will be used. You can delete the account created in step 1 if it is no longer needed.
Permissions required for creating and configuring a Microsoft SQL database
Permissions required for creating and configuring a Microsoft SQL database
When creating a new database:
- CREATE ANY DATABASE (required to create a new database)
- SECURITYADMIN (required to create a new user under whose account the Application Server is running)
- EXECUTE ON SCHEMA::DBO
- SELECT ON SCHEMA::DBO
- DB_DATAREADER
- DB_DATAWRITER (DBInitFill)
- DB_DDLADMIN
- ALTER ON DATABASE::<DB_NAME> (required for specifying the recovery model and enabling Snapshot isolation)
- EXECUTE ON SCHEMA::DBO
- GRANT EXECUTE ON SCHEMA::DBO
- DB_BACKUPOPERATOR (required for creating backups and restoring the database)
- DB_ACCRESSADMIN (required for adding users to the database)
- DB_SECURITYADMIN (required for managing database permissions)
Privileges required for working with an Oracle database
Privileges required for working with an Oracle database
Oracle database users will need the following privileges to be able to work with the database and install patches:
- CONNECT
- CREATE SESSION
- CREATE TABLE
- CREATE VIEW
- CREATE SEQUENCE
- CREATE PROCEDURE
- CREATE TYPE
- CREATE TRIGGER
- EXECUTE ON SYS.DBMS_LOCK
Privileges required for working with a PostgreSQL database
Privileges required for working with a PostgreSQL database
The process of creating a PostgreSQL database is identical to creating a Microsoft SQL database, but the user creating a PostgreSQL database must have one of the following privileges
- CREATEDB+CREATEROLE
- SUPERUSER
Important! The user will need to change the temporary password on the login page (https://<ApplicationServer>/FlexiCapture12/Login where <ApplicationServer> is the name of the computer on which the Application Server is installed). Once the temporary password is changed, the user will be redirected to the Administration and Monitoring Console.
- The user that creates the database automatically gets administrative privileges. The Administrator also has the permissions to change the settings of the Application Server, upload projects, grant access permissions for projects, create new users, and manage their roles and access permissions. The Administrator can grant the Administrator role to another user and delegate further configuration of the system to that user. The user that creates the database cannot be deprived of the Administrator role.
