Firebird connection strings

Firebird ADO.NET Data Provider

Standard

User=SYSDBA;Password=masterkey;Database=SampleDatabase.fdb;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;
ServerType
=0;

Using the Firebird embedded server

User=SYSDBA;Password=masterkey;Database=SampleDatabase.fdb;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;
ServerType
=1;

It's the key/value ServerType=1; that tells the driver it's in embedded mode.

Disable pooling

User=SYSDBA;Password=masterkey;Database=SampleDatabase.fdb;DataSource=localhost; Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=false; Packet Size=8192;ServerType=0;

IBPhoenix Open Source ODBC Driver (aka Firebird ODBC driver)

Specifying dialect Firebird

SQL dialects were introduced in InterBase 6.0, to support a number of new SQL features including delimited identifiers.

DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=C:\database\myData.fdb;DIALECT=3;

DIALECT=1 - Parser processes as it did in InterBase V5.

DIALECT=2 - Transitional flagger. InterBaseV6, and Firebird flags ambiguous SQL constructs and issues an error or warning message.

DIALECT=3 - Parser processes anything delimited by single quotes as string constants and any thing delimited by double quotes as SQL delimited identifiers.

Autoquote identifiers

The driver will quote (") your table names in SQL statements automatically.

DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=C:\database\myData.fdb;AUTOQUOTED=YES;

'SELECT A.Field FROM Table A' will be transformed into 'SELECT "A.Field" FROM "Table" A'

Be aware that upper case SQL keywords must be used, ie SELECT and FROM etc, not Select and From, else transformation will fail.

Read Only connection (Firebird)

This one is for Firebird file with the .fdb extension.

DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=C:\database\myData.fdb;READONLY=YES;

Return with error on lock conflict (Firebird)

DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=C:\database\myData.fdb;NOWAIT=YES;

Normally the transaction will wait if it encounters a lock conflict. This connection string will cause an error instead.

Wait timeout for error on lock conflict (Firebird)

DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=C:\database\myData.gdb;LockTimeoutWaitTransactions=4;

Normally the transaction will wait if it encounters a lock conflict. This connection string will raise an error after 4 seconds.