Driver Frequently Asked Questions
- Does DataAbstract support Advantage (ADS)?
- How can I connect to Firebird database that uses Dialect 1?
- How can I connect to MySQL database from a server running on Mono/Linux or Mono/Mac?
- How can I define AutoInc fields when ElevateDB.NET database driver is used?
- How can I install the the FIBplus driver?
- What can I do if have a different version of the IBX driver?
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 itQuotingIdentifiers
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 itsBuild Action
property toEmbedded 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 to Configure Additional Drivers (.NET)
- Where can I find a comprehensive list of database connection strings?
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).
Note: see Where can I find a comprehensive list of database connection strings? for a list of supported drivers
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.