Is UniDac the better choice?

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Is UniDac the better choice?

Post by upscene » Wed 28 Oct 2009 12:01

Hi,

I'm currently using MyDAC (direct) and OraDAC (TNS & Direct) and I'm also looking for a replacement of the current InterBase & Firebird components I'm using.

In the future, I might also need Sybase ASE ad PostgreSQL support.

Would UniDac be the right choice here?

How good is Unicode support for Delphi 2009?

How quick is DevArt with updating the components to support new features in the various DBMSses?

Does it offer the same features as, for example, MyDAC and OraDAC (especially creating all sorts of blob streams and types in Oracle)?

(is there a cross-grade for MyDAC/OraDAC users?)

With regards,

Martijn Tonies

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Thu 29 Oct 2009 08:16

Yes, you can use UniDAC. It has full Unicode support. UniDAC has the most of ODAC and MyDAC features. But some features are not supported. For Oracle they are:
- OBJECT, TABLE, ARRAY, and XMLTYPE data types are not supported;
- Oracle specific components like TOraQueue, TOraChangeNotification, and TOraTrace are not supported.

UniDAC supports all MySQL data types. Some specific components are not supported: TMyBackup, TMyServerControl, TMyBuilder.

There is no cross-grade for MyDAC / ODAC users.

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Thu 29 Oct 2009 08:22

Hmm, I would need full support for those Oracle datatypes in my application when people connect via TNS.

If that's not supported for Oracle, I cannot go that route.

How's the current InterBase/Firebird support? Does it support fetching UTF8 data and converting it into Unicode and so on? Are statement types (eg: insert/delete etc) automatically detected after a Prepare? (via the API)

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Fri 30 Oct 2009 08:14

UniDAC supports converting UTF8 data to Unicode. Statements types are detected but TUniQuery does not have the SQLType property like TIBCQuery because SQLType values are specific to InterBase.

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Fri 30 Oct 2009 09:31

Plash wrote:UniDAC supports converting UTF8 data to Unicode. Statements types are detected but TUniQuery does not have the SQLType property like TIBCQuery because SQLType values are specific to InterBase.
You could create a more-or-less generic method, eg:

GetValue(ValueType: Integer): Variant

ValueType could be forwarded to the providers and the result could be DBMS-type dependent.

As for Oracle, the object types and XML and so on will not be supported in UniDac?

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Mon 02 Nov 2009 10:41

You can get SQLType for InterBase in UniDAC using the following code:

Code: Select all

  TGDSCommand(TDBAccessUtils.GetICommand(UniQuery1)).GetSQLType;
We do not plan to support object and XML types in UniDAC because these types are specific to Oracle and cannot be used with other DBMS.

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Mon 02 Nov 2009 10:48

Plash wrote:We do not plan to support object and XML types in UniDAC because these types are specific to Oracle and cannot be used with other DBMS.
Well, that's a pity as this makes UniDac near unusable for Oracle applications. :?

In this particular application, having a unified data access components suite would certainly help for programming, but it would need to support each DBMSses features. So I'm sorry to hear that.

Post Reply