The list of questions and answers related to Firebird and Interbase Servers.
A: The general approach is described in Configuring Drivers. To configure a DLL at run time per application basis, do the following:
If you going to configure a DLL at design time too, then better will be to use ADDrivers.ini:
[IB]
VendorLib=C:\Program Files\Firebird 2.5\bin\fbclient.dll
A: IB is the "base" driver ID. FB21 is the "virtual" driver ID. Virtual drivers are configured in the file AnyDAC\DB\ADDrivers.ini. There you can see how is configured the FB21. It is the IB base driver configured to use appropriate fbclient.dll. You can create your own virtual drivers. For example:
[Firebird25]
BaseDriverID=IB
VendorLib=C:\Program Files\Firebird 2.5\bin\fbclient.dll
A: A boolean field may be created using a domain. The domain name must contain 'BOOL' substring. And add ExtendedMetadata=True parameter to your connection definition. Example:
CREATE DOMAIN T_BOOLEAN SMALLINT; CREATE TABLE ... ( ... BOOLEAN_FIELD T_BOOLEAN, ...);
A: A GUID field may be created using a domain. The domain name must contain 'GUID' substring. And add ExtendedMetadata=True parameter to your connection definition. Example:
CREATE DOMAIN T_GUID AS CHAR(16) CHARACTER SET OCTETS COLLATE OCTETS; CREATE TABLE ... ( ... GUID_FIELD T_GUID, ...);
A: No. DROP DATABASE command is not a FB SQL command, but it is ISQL command.
A: AnyDAC support password changing on Firebird 2.5 (additionally to Oracle, MySQL, PostgreSQL, SQL Server and SQLite drivers) using the code:
ADConnection1.Connected := True;
ADConnection1.ConnectionIntf.ChangePassword('new password');
A: Specify in the connection definition parameters:
IBAdvanced=set_db_readonly=1
A: The background is - the COMMIT will invalidate all the cursors open in this transaction. AnyDAC handles transactions automatically using following rules:
There are even more nuances, but the main rules are listed above.
Automatic committing will be issued after the last record is fetched. We cannot change the behavior, so right after Open will be performed FetchAll and then Commit. As there will be no difference between fmOnDemand and fmAll.
If you need to make the changed and posted to the DB records of this dataset visible to the other sessions, while not all records are fetched from the dataset, then just use second update transaction object. So, cursor transaction will remain active and updates will be executed in the different short transactions. That will make the changes visible to the other users.
A: Just set the Protocol parameter to an empty string or do not specify it at all.
A: You are probably connecting to the Firebird server using GDS32.DLL.
A: You are probably connecting to the Interbase server using FBCLIENT.DLL.
A: Although the security database is not used by the Embedded server, it still uses the user name to check rights. If the user name is not specified or is specified incorrectly, you get this error.
|
What do you think about this topic? Send feedback!
|