Skip to main content
First, you need to create a database.
Depending on your setup, you may need to create a new database or connect to an existing database.
In ABBYY FlexiCapture Release 4 Update 2, PostgreSQL is enabled by default. To be able to work with PostgreSQL databases in earlier versions of ABBYY FlexiCapture, you will need to enable PostgreSQL first.
To create a new database, complete the following steps.
1

Install the database client driver

On the computer where the Application Server is installed, install one of the following client drivers:If you attempt to create a database without Microsoft SQL Server Native Client, you will see this error message: “Provider cannot be found. It may not be properly installed.”
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.
2

Open the Administration and Monitoring Console

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:
Screenshot of the Application Server page in the FlexiCapture Administration and Monitoring Console before a database is connected, showing the Create New Database button.
If you are already connected to another database, close the existing sessions before creating a new database. If that is not possible or necessary, add the following key to the web.config file located at <IIS Root Directory>\FlexiCapture12\Monitoring (the default IIS root location is C:\inetpub\wwwroot):
The new database is then created without a warning about existing sessions, and all sessions in the old database are preserved. By default, the key is set to false and you are prompted to close the sessions when creating a new database.
3

Specify the connection settings

Click the Create New Database button. On the database creation page that opens, specify the following:
  • 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 that Microsoft SQL Server imposes 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.
Screenshot of the Create new database page in the FlexiCapture Administration and Monitoring Console with the Oracle option selected, showing the server instance name and server access authentication fields.
Note the following, depending on your database:
  • Oracle — 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 (see the Oracle website for details).
  • All databases — 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.
  • PostgreSQL — To create a PostgreSQL database, the CREATEDB+CREATEROLE or SUPERUSER role attributes are required. A user account with the necessary permissions is created automatically. The user name is specified in the FCUser12_DatabaseName format, where DatabaseName is the name of the database.
4

Set up file storage

Select the Use external file storage option and specify the path to the file storage. For more information, see Setting up a file storage.The file storage stores binary data, such as images to be processed, project settings, and captured data. The speed of communication between the Application Server and the file storage greatly affects the overall performance of ABBYY FlexiCapture, so we recommend placing the file storage on the same disk as the Application Server.To achieve maximum performance in enterprise environments, we recommend using a fail-safe disk, a RAID configuration, or a high-performance external storage solution. When using a high-performance disk, place the file storage on the same physical disk where you keep the IIS temporary folders.You must add the file storage to the exceptions of your anti-virus software and the Windows search indexing service.
If no file storage is used, all project files are stored in the database. 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 database may become unacceptably large, causing performance degradation.
5

Test the connection

Use the Test Connection button to check the entered values. If the test is successful, click OK.If you encounter authentication problems when testing the connection, make sure that Mixed Authentication Mode (“SQL Server and Windows authentication”) is enabled for Microsoft SQL Server.
Screenshot of the Application server Current settings page in the FlexiCapture Administration and Monitoring Console, showing the MS SQL server instance name, database name, and file storage path with Apply Patch, Connect to Existing Database, and Create New Database buttons.
Once the database is created, the user name and a temporary password are displayed. The temporary password is the word password.
The user must 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 is redirected to the Administration and Monitoring Console.
The user that creates the database automatically gets administrative privileges. The Administrator can also 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.
  1. A FlexiCapture 12 database is created. If server authentication is used, the database is created using the account specified on the page that opens when you click Settings → Application Server → Connect to Existing Database / Create New Database in the Administration and Monitoring Console. If Windows authentication is used, the database is created using the account under which the browser displaying the Application Server is running. This account runs the Description.sql script followed by the DBInitFill.sql script. These scripts are located in <IIS Root Directory>\FlexiCapture12\Server (the default IIS root directory is C:\inetpub\wwwroot) on the computer where the Application Server is installed. The first script creates the database and the second populates it with data. The files named Upgrade*.sql, which are also in this folder, are not used for database creation.
  2. A new account is added on the Database Server. This is the account under which the FlexiCapture 12 Web Services application pool runs on the Application Server (the Network Service user account is used by default).
  3. The account created in step 2 is given db_owner permissions for the FlexiCapture12 database created in step 1. For any further interaction between the Application Server and the database, the account created in step 2 is used. You can delete the account created in step 1 if it is no longer needed.
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)
When connecting to an existing database:
  • EXECUTE ON SCHEMA::DBO
  • SELECT ON SCHEMA::DBO
When installing patches, connecting to, and using the database:
  • 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_ACCESSADMIN (required for adding users to the database)
  • DB_SECURITYADMIN (required for managing database permissions)
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
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