Driver Frequently Asked Questions


Does DataAbstract support Advantage (ADS)?

This depends on the DataAbstract platform:

  • .NET: Yes, Anvantage.NET driver support is now available. To use it install Advantage .NET Data Provider and add connection to your database via Schema Modeler.
  • Delphi: Currently, we don't have specific support for Advantage. However, you can write a custom driver (this is fairly easy, all you need is to copy/paste from the existing drivers and change the class names).

How can I connect to Firebird database that uses Dialect 1?

DataAbstract for .NET is configured to use Dialect 3 by default, so minor changes are needed to allow the server application to access database that uses Dialect 1. The reason behind these changes is that database opened in Dialect 3 mode uses " symbols to quote database identifiers. At the same time database opened in the Dialect 1 mode cannot properly process these quotation symbols. This results in the server application not being able to access the database data. Also both Schema Modeler and New Project Wizard cannot access the data table field information for such databases.

To connect to the database that uses Dialect 1 If you want to connect to a Dialect 1 database then some changes are required:

  • Find the file Data Abstract (Common)\Bin\DataAbstract.daConfig in your Data Abstract installation folder.
  • Open it in any text editor (in fact, its a common xml file), find the Configuration\DatabaseProfiles\Interbase element and change it QuotingIdentifiers attribute from '"' (double quotes) to ' ' (2 space chars)
  • Save changes and restart your Schema Modeler to assure that it works fine now.
  • To make your DA server accept this changes, just add previously updated DataAbstract.daConfig file to your Data Abstract server application project and set its Build Action property to Embedded Resource.
  • Put the updated DataAbstract.daConfig file net to the Schema Modeler executable (...\Data Abstract (Common)\Bin\DASchemaModeler7.exe), replacing any existing file if needed)

See also:


How can I connect to MySQL database from a server running on Mono/Linux or Mono/Mac?

See How to set up Your Server to Connect to MySQL (.NET)


How can I define AutoInc fields when ElevateDB.NET database driver is used?

Unfortunately ElevateDB doesn't have native support for auto-increment field values. To allow DataAbstract for .NET to process AutoInc values define following SQL function:

Define function GetAutoIncValue that accepts parameter TableName of type VarChar(250) and returns an Integer

Function body should be

BEGIN
  DECLARE FieldName VARCHAR(250);
  DECLARE Value INTEGER;
  EXECUTE IMMEDIATE
    'SELECT  name  INTO ?  FROM Information.TableColumns  WHERE  Generated  AND  TableName=?'
     USING FieldName, TableName;
  EXECUTE IMMEDIATE
    'SELECT  COALESCE(MAX("'+FieldName+'"),0) INTO ?  FROM  "'+TableName+'"'
    USING  Value;

  RETURN  Value;
END

How can I install the the FIBplus driver?

As versions of 3rd party libraries installed on your system might differ from user to user, the Data Abstract Installer does not provide pre-built and pre-installed packages for these drivers.


How can I install third party drivers?

You have two options to use these drivers:

  • Dropping a driver component on your application is not really necessary to use the driver, simply adding the unit to your project will suffice. Just add the unit (e.g. uDAFIBDriver for FIBPlus) to the uses clause of your .dpr, and you're ready to use your driver.
  • Open the driver package (for example DataAbstract_FIBDriver_D7 for FIBPlus and Delphi 7) in the IDE, rebuild and install it. You should now see the driver component show up in the Component Palette.
  • For Schema Modeler to be able to access the driver, the resulting .dad file from the compilation needs to be added to the folder containing DASchemaModeler.exe (and the other .dad files).

What can I do if have a different version of the IBX driver?

You need to remove the old 'ibxpress70' if it is still installed in Delphi and re-compile the following project:

..\Data Abstract for Delphi\Source\Drivers\DataAbstract_IBXDriver_D7.dpk

If you only have the trial version, then the above is not possible and you will not be able to use the driver at design time.