I'm looking for updated connectivity options to connect with PostgreSQL with Delphi XE2. What are you currently utilizing to connect with PostgreSQL and Delphi XE2? (Does it work with 32 and 64-bit applications?)
DevArt is the way to go. http://www.devart.com/pgdac/. They released 64-bit support for XE2 in September and announced iOS support in XE2 last week.
I use AnyDAC - not only for PostgreSQL, highly recommend it !
Related
please does exist some native driver for Informix databases for Delphi XE2 Professional ?
What are you using?
I know that does exist IDAC, now opensource, but these sources are for pre-Unicode Delphi versions and is not easy to change it (at least for me).
Thank you very much.
I also used IDAC before, but with upgrading to XE2 I changed to AnyDAC.
We are migrating from Delphi 6 to Delphi 2010,earlier we were using BDE engine to connect to Sybase Database from Delphi 6. We found out that Delphi 2010 does not support BDE.
We are trying with dbexpress but we are not able to catch the exception(raise error) thrown by Sybase.
Could you please let me know if there is any other driver except dbexpress to connect to Sybase Database from Delphi 2010.
Thanks.
Regards,
AS
You can use AnyDAC to connect to:
Sybase SQL Anywhere (AnyDAC native driver)
Sybase Adaptive Server (AnyDAC ODBC bridge).
I suspect your real problem is that you have the Professional version of Delphi rather than Enterprise. As far as I know, BDE can still be used with Delphi 2010.
With Delphi 6 the Professional version allowed connections to remote databases. Somewhere between Delphi 6 and Delphi 2010 that policy was changed.
Anyway, you really need to give up on BDE and move forward.
Edit: (jeroen)
The BDE for relational access (aka the BDE SQL Links technology) has been deprecated since 2002, about 2 years after the introduction of dbExpress in Kylix and Delphi 6.
You could try a workaround:
Install Delphi 6
Update BDE to the latest available version (there should be some updates on Embarcadero site, I hope)
Install Delphi 2010
IIRC the available SQL Links should not be removed (otherwise it would break the older version), and they should still work in Delphi 2010. But that's really a stopgap try.
Devart's UniDac can connect to Sybase without using dbExpress, but I never used it.
Sybase drivers for dbExpress is included in Enterprise version of Delphi. If that is not an option you can use dbGO (ADO) that is included in Professional.
You can try ZEOSLIB which contains SyBase connectivity, along with many other SQL dbs.
As far as I can see, it requires you to remove your Query/Table objects and replace them with its own Table and Query replacement objects, but then, so would moving from BDE to ADO/dbGo or dBExpress.
And you really should get the BDE out of your application. It's dead as a doornail.
I have an older application (written in Delphi 6) that has to be ported to Delphi 2006 (update 2). The application used to connect to an Interbase 6.x database using DBExpress, but the new version needs to connect to a Firebird 2.x Superserver.
Porting went OK, no real problems. But now, when I try to connect to the new Firebird server from the ported app, I get the following error:
Database error
Database Server Error: no current record for fetch operation
Running the same application compiled with Delphi 6, talking to the same Firebird server runs fine. The changes needed to compile the app in Delphi 2006 weren't related to the database code - all local library stuff. The application uses TSQLDataset en datasetproviders and clientdatasets.
Anybody has any idea how or why? Any changes to DBExpress that might cause this behaviour?
Thanks.
I don't think Delphi 2006 supports Firebird natively. Think you need to install FIBPlus
Heres a list of what is supported in Delphi 2006:
Old driver New driver Database and Version
dbexpinf.dll dbxinf30.dll Interbase 7.5
dbexpora.dll dbxora30.dll Oracle 10g
dbexpdb2.dll dbxdb230.dll db2 UDB 8.x
dbexpmss.dll dbxmss30.dll MSSQL 2000
dbexpmys.dll dbxmys30.dll MySQL 4.0.24
dbexpasa.dll dbxasa30.dll Adaptive Sybase Anywhere 9
dbexpase.dll dbxase30.dll Sybase 12.5
dbexpinf.dll dbxinf30.dll Informix 9.x
Extracted from Here
Until Delphi 2010, the built in DBExpress drivers officially never supported FireBird.
In practice, a lot of combinations never worked at all.
Either:
go for a DBExpress driver officially supporting FireBird (search google),
or move to another database middle layer (FIBPlus that James suggests is really good).
--jeroen
First of all, retry the same steps from a new, 1-form app (put SQLConnection, SQLQuery etc etc), fill with the SQL you want and try to connect.
I believe there's some connection parameter that changed between versions, since I've used D2006 DBexpress to access Firebird 2.x with success. But the application were not ported, but new projects.
I just upgraded my BDS2006 Prof to D2010 Prof. I usually use Interbase component (TIBDatabase, etc) to connect with the database. I am thinking about other alternative components. Sadly, Zeos component (6.X) currently still not working with D2009/D2010. DBExpress support FB connection but not in Prof. Version (only in Enterprise/Architect).
What component(s) you suggest for me? (I prefer a free good component, but it is okay if it is a very good, stable, robust, not so expensive and well supported commercial product).
You can also use :
UIB (free)
IBDAC
AnyDAC
The best library for Delphi-Firebird interaction is FIBPlus. But it is quite expensive - $348 per one license
There is also a free dbExpress driver for FireBird which can be used in Delphi 2010 Pro.
You can try IBProvider (OLE DB Firebird driver and Interbase provider), This very well documented, updated (last version 13-08-2009) and has great support.
The access to Firebird from Delphi using this provider, you may choose among the following variants:
Interact with ADO via COM interfaces.
Use dbGo (ADO Express) components.
Supports the following versions of firebird
Firebird 1.0 (1.0.3)
Firebird 1.5 (1.5.3, 1.5.4, 1.5.5)
Firebird 2.0 (2.0.1 - 2.0.x)
Firebird 2.1
Firebird 2.5
Firebird 64 bits
Bye.
Another free option is to use the free ODBC driver and the dbGo components. I use them and they work pretty well.
Firebird ODBC Driver
I have simple application that uses dbExpress to connect Informix database.
If I compile it with TurboDelphi it works on both WinXP and Win2003.
When I use new Deplhi 2009 my app works ok on WinXP but do not start on Win2003.
No MessageBox with error, only info in EventLog:
Faulting application inf_dbexpress_test.exe, version 0.0.0.0, faulting
module kernel32.dll, version 5.2.3790.4062, fault address 0x0000bee7.
I think this is problem with dbExpress driver while my other app compiled with Delhi 2009 that uses
ODBC to connect Informix works on Win2003.
Anybody can test if Informix dbExpress drivers from Delphi 2009 works with Windows 2003?
Thanks for your help, but it do not work.
As for $INFORMIXDIR:
I reinstalled ClientSDK 3.5 and my $INFORMIXDIR is now:
c:\informix
(was c:\Program Files ...).
I can connect to DB from my app that uses ODBC.
But dbExpress app can not start, even in WinXP compatibility mode.
I have reported it in Delphi Quality Central as bug #67823:
Which turbo version do you have (the .net version or the Win32 version)? Do you have .net framework installed on 2003?
Hm maybe a strange suggestion, but one of the big differences introduces in Delphi 2009 is Unicode. All strings are now Unicode strings. Could that possibly be an explanation for the problem?