SQLite

ExpandedToggleIcon        Connection Dialog

The only connection option is required to be specified for connection to SQLite:

Database file name - The name of the database file to connect to.

note Note

The Create a database file if it doesn't exist check box determines what to do when the specified database file is missing (it determines the value of the corresponding FailIfMissing connection string parameter). If true, an exception is raised if the database file is not found. If false, an empty database is created.

 

In addition to the required options, Advanced connection options may be set for more fine connection tuning.

 

ExpandedToggleIcon        Advanced Connection Options

The following table describes the options that you can include in the Connection String using the Advanced Connection Editor dialog box:

 

Option

Description

Attach

The list of databases to attach, separated with semicolons.

Automatic Index

Determines whether SQLite automatic indexing is enabled. Default value is true.

Auto Vacuum

Determines what happens when a transaction that deletes data from a database is committed.

Values:

None - Unused database file pages are added to a "freelist" are reused for subsequent inserts. The database file does not shrink. This is the default mode.
Full - The "freelist" pages are moved to the end of the file and the file is truncated to remove the freelist pages at every commit.
Incremental - A separate incremental_vacuum pragma must be invoked to cause the vacuum to occur.

Binary GUID

Determines how GUIDs are stored. If true - GUID columns are stored in binary form, otherwise GUID columns are stored as text.

Busy Timeout

Sets an SQLite busy handler that sleeps for a specified amount of time when a table is locked. The handler will sleep multiple times until at least the specified number of milliseconds of sleeping have accumulated. After this the handler returns 0. Specifying this parameter will cause a call to sqlite3_busy_timeout function when connecting.

Cache Size

The maximum number of database disk pages. Each page uses about 1.5 kilobytes of memory. The default cache size is 2000. If you are doing UPDATEs or DELETEs that change many rows of a database and you do not mind if SQLite uses more memory, you can increase the cache size for a possible speed improvement.

Cache Spill

Determines whether to allow spilling dirty cache pages to the database file in the middle of a transaction.

Case Sensitive Like

Determines whether the LIKE operator performs case-sensitive comparison. By default, false.

Cell Size Check

Determines whether to perform additional checks on database b-tree pages as they are initially read from disk. This parameter uses the corresponding SQLite PRAGMA - cell_size_check.

Checkpoint Full FSync

Determines whether the F_FULLFSYNC syncing method is used during checkpoint operations on systems that support F_FULLFSYNC. Default value is false.

Connection Lifetime

When a connection is returned to the pool, its creation time is compared with the current time, and the connection is destroyed if that time span (in seconds) exceeds the value specified by Connection Lifetime. The default value is 0 (connection always returns to pool).

Connection Timeout

The length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error. The default value is 15.

Data Source

The path and name or the database to which to connect.

DateTime Format

The format of DATETIME values. If set to "Ticks", DATETIME values are expressed in ticks. Otherwise, Datetime fields are formatted according to ISO8601.

Default Command Timeout

The time in seconds to wait while trying to execute a command before terminating the attempt and generating an error. 0 indicates no limit.

Enable Load Extension

Determines whether an SQLite extension library can be loaded from the from the named file with the statement SELECT load_extension(file_name);. It can be useful, for example, for the full-text search modules.

Encryption

Determines the encryption SQLite extension to use. Note that if you want to use encryption mode other than "None" (which means no encryption), you need to buy the corresponding extension separately and compile the SQLite engine with it. dotConnect for SQLite supports SEE, CEROD, SQLCipher, and SQLiteCrypt encryption extensions.

Encryption License Key

The software license key for SQLiteCrypt extension. Necessary if connecting to an SQLiteCrypt encrypted database.

Enlist

Determines whether the connection is automatically enlisted in the current distributed transaction. The default value is true. SQLite engine itself doesn't support distributed transactions.  Devart Excel Add-ins emulates this support to allow using the Transaction Scope Local parameter.

FailIfMissing

Determines what to do when the database file is missing. If true, an error occurs if the specified database file is not found. If false, an empty database is created.

Foreign Key Constraints

Determines whether the foreign key constraints are enforced.

Values:

Default - Use default SQLite foreign key constraint enforcement settings.
On - Foreign key constraint enforcement is on.
Off - Foreign key constraint enforcement is off.

Full Column Names

Determines the format of auto-generated names. If true, the database engine names columns according to format <table-name/alias> <column-name>.

Full FSync

Determines whether or not the F_FULLFSYNC syncing method is used on systems that support it.

Ignore Check Constraints

Determines whether the check constraints are enforced. Default value is false.

Journal Mode

Determines SQLite journal mode for the connection.

Default - SQLite default Journal Mode is used.
Delete - In the Delete mode, the rollback journal is deleted at the conclusion of each transaction.
Truncate - In the Truncate mode rollback journal file is truncated instead of deleting when the transaction is commited. May be used for gaining better performance, because on many systems, truncating a file is much faster than deleting the file.
Persist - In the Persist mode rollback journal file is not deleted when the transaction is commited. Its first block filled with zeroes to prevent other connections rolling back from this journal. May optimize performance on platforms where deleting or truncating a file is much more expensive than overwriting the first block of a file with zeros.
Memory - The MEMORY journaling mode stores the rollback journal in volatile RAM. It may be used to reduce disk I/O but that decreases database safety and integrity. If the application using SQLite crashes in the middle of a transaction in this mode, the database file may become corrupt.
Off - In this mode rollback journal is completely disabled. The ROLLBACK command does not work; it behaves in an undefined way. Don't use the ROLLBACK command in this mode.

Journal Size Limit

The maximal size of the log file in bytes. Negative values mean no limit. The default value is -1. This parameter uses the corresponding SQLite PRAGMA - journal_size_limit.

Legacy File Format

Determines whether backwards compatibility of the database file is enabled.

Load Extension

Determines whether or not the F_FULLFSYNC syncing method is used on systems that support it.

Locking

Determines database locking mode.

Values:

Normal - The database connection unlocks the database file at the conclusion of each read or write transaction. This is the default behavior.
Exclusive - The database connection never releases file locks. The first time the database is read in exclusive mode, a shared lock is obtained and held. The first time the database is written, an exclusive lock is obtained and held.

Max Page Count

The maximum number of pages in the database file.

Max Pool Size

The maximum number of connections allowed in the pool. Setting the Max Pool Size value in the connection string can affect performance. The default value is 100.

Min Pool Size

The minimum number of connections allowed in the pool. The default value is 0.

Page Size

The page size in newly created databases. Must be a power of two greater than or equal to 512 and less than or equal to 8192.

Password

The user's password to connect to an encrypted database.

Persist Security Info

Indicates if security-sensitive information, such as the password, is not returned as part of the connection if the connection is open or has ever been in an open state.

Pooling

If true, by default, the connection is drawn from the appropriate pool or is created and added to the appropriate pool.

Read Only

Determines whether to open a database in a read-only mode. An exception is thrown if a database does not exist. Available only if the connection uses the UTF8 encoding.

Read Uncommitted

Gets or sets the process isolation level. The default level is SERIALIZABLE (false).

Recursive Triggers

Determines whether the recursive triggers are turned on. Default value is false.

Reverse Unordered Selects

Determines whether the result of the SELECT statement without the ORDER BY clause will be retrieved in the reverse order of what it normally would. Default value is false.

Secure Delete

Determines whether to overwrite the deleted data with zeroes.

Synchronous

Determines the synchronization mode of write operations.

Temp Store

Determines the location of temporary files - user's TEMP folder, custom folder, or RAM.

Threads

The maximal number of auxiliary threads the prepared statement can launch to assist with a query. Default value is 0, which means no auxillary threads are allowed. This property uses the corresponding SQLite PRAGMA - threads.

Transaction Scope Local

If there are several connections with the same connection string (which includes "Transaction Scope Local=true;") within a scope of TransactionScope, our provider will use only one connection internally. The default value is false.

UTF16

Determines whether the connection uses UTF16 encoding.

Validate Connection

Specifies whether to validate connections that are being got from the pool.

Version

The default version of SQLite engine to use. Currently the only valid value is 3.

WAL Auto Checkpoint

The write-ahead log auto-checkpoint interval - the number of the write-ahead log pages, after which the checkpoint is performed. Effective only when the Journal Mode parameter is set to

Writable Schema

Determines whether the SQLITE_MASTER tables can be changed using UPDATE, INSERT, and DELETE statements. However note that editing SQLITE_MASTER table in such way can result in a corrupt database file.