Skip to content

TIBConnection

TIBConnection: Firebird/Interbase specific TSQLConnection.

Declaration

Source position: ibconnection.pp line 90

type

  TIBConnection = class(TSQLConnection)
  public
    constructor Create;
    function GetConnectionInfo : string;
    procedure CreateDB;
    procedure DropDB;
    property BlobSegmentSize: Word; {rw}
    property ODSMajorVersion: Integer; {r}
  published
    property DatabaseName;
    property Dialect: Integer; {rwsd}
    property CheckTransactionParams: Boolean; {rw}
    property KeepConnection;
    property LoginPrompt;
    property Params;
    property OnLogin;
    property Port; {s}
    property UseConnectionCharSetIfNone: Boolean; {rw}
    property WireCompression: Boolean; {rwd}
  end;

Description

TIBConnection is a descendant of TSQLConnection and represents a connection to a Firebird/Interbase server.

It is designed to work with Interbase 6, Firebird 1 and newer database servers.

TIBConnection by default requires the Firebird/Interbase client library (e.g. gds32.dll, libfbclient.so, fbclient.dll,fbembed.dll) and its dependencies to be installed on the system. The bitness between library and your application must match: e.g. use 32 bit fbclient when developing a 32 bit application on 64 bit Linux.

On Windows, in accordance with the regular Windows way of loading DLLs, the library can also be in the executable directory. In fact, this directory is searched first, and might be a good option for distributing software to end users as it eliminates problems with incompatible DLL versions.

TIBConnection is based on FPC Interbase/Firebird code (ibase60.inc) that tries to load the client library. If you want to use Firebird embedded, make sure the embedded library is searched/loaded first. There are several ways to do this:

  • Include ibase60 in your uses clause, set UseEmbeddedFirebird to true
  • On Windows, with FPC newer than 2.5.1, put fbembed.dll in your application directory
  • On Windows, put the fbembed.dll in your application directory and rename it to fbclient.dll

Pre 2.5.1 versions of FPC did not try to load the fbembed library by default. See FPC bug 17664 for more details.

An indication of which DLLs need to be installed on Windows (Firebird 2.5, differs between versions:

  • fbclient.dll (or fbembed.dll)
  • firebird.msg
  • ib_util.dll
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll
  • msvcp80.dll
  • msvcr80.dll

Please see your database documentation for details.

The TIBConnection component does not reliably detect computed fields as such. This means that automatically generated update SQL statements will attempt to update these fields, resulting in SQL errors. These errors can be avoided by removing the pfInUpdate flag from the provideroptions from a field, once it has been created:

MyQuery.FieldByName('full_name').ProviderFlags:=[];
          

Properties

Member Visibility Description
BlobSegmentSize public Write this amount of bytes per BLOB segment.
CheckTransactionParams published Let StartTransaction check transaction parameters.
DatabaseName read only published Name of the database to connect to.
Dialect published Database dialect.
KeepConnection read only published Keep open connection after first query.
LoginPrompt read only published Switch for showing custom login prompt.
ODSMajorVersion read only public Database On-Disk Structure major version.
Params read only published Firebird/Interbase specific parameters.
Port read only published Port at which the server listens.
UseConnectionCharSetIfNone published For string/blob fields with codepage none, use the connection character set when copying data.
WireCompression published Use wire compression when communicating with the server.
See all Properties

Methods

Member Visibility Description
Create public Creates a TIBConnection object.
CreateDB public Creates a database on disk.
DropDB public Deletes a database from disk.
GetConnectionInfo public Return some information about the connection.
See all Methods

Events

Member Visibility Description
OnLogin read only published Event triggered when a login prompt needs to be shown.
See all Events

See also

Name Description
TSQLConnection