What data access mechanisms are currently popular / decent within Delphi and C++Builder? Obviously ODBC can be used, and I remember something about DBExpress. Anything else?

What data access mechanisms are currently popular / decent within Delphi and C++Builder? Obviously ODBC can be used, and I remember something about DBExpress. Anything else?

Maybe you came across some comparison / review that could be of use for me - that would be ideal.

While working on security and networking I tried to stay away from DB stuff, so this area is completely new to me. Thank you in advance for your answers.

Comments

  1. I think at this point you'd be crazy not to use FireDAC for database access in RAD Studio.

    ReplyDelete
  2. Nick Hodges I heard just the name - is it something universal (that I could plug my own driver to), or it's a set of pre-created drivers for certain services? In other words, is it extendable?

    ReplyDelete
  3. Eugene -- The complete source code is available, so I believe you could use that to write your own driver, yes.

    ReplyDelete
  4. A. Bouchez
    Thank you, Arnaud, I am investigating from driver-maker's point of view. We'd need (and be able) to target the only one or two most popular technologies (besides ODBC, obviously).

    ReplyDelete
  5. FireDac is excellent, so is UniDAC.

    ReplyDelete
  6. Eugene Mayevski Not sure if it's relevant, but be noted the FireDAC package is not available for Delphi Professional, you need to purchase it separately: https://www.embarcadero.com/cn/app-development-tools-store/firedac-pack-for-delphi

    ReplyDelete
  7. Also consider the possibility of using an ORM, in addition to low level DB access library. "Persistence ignorance" is a great pattern - see http://stackoverflow.com/questions/905498 It may save you a lot of work.
    And also NoSQL access, e.g. MongoDB which is #1 and truly awesome in its latest v3 revision. AFAIK mORMot is the only ORM able to connect to both SQL and NoSQL DB with the same business code.

    ReplyDelete
  8. Nick Hodges
    The problem currently is that the FireDAC driver support is all hard-coded and the promised improvements on this hasn't happened yet, so right now it is difficult (if not impossible) for third parties to join this eco system.

    ReplyDelete
  9. Eivind Bakkestuen
    As far I as could see, there's source code available, so one would be able to create their own classes. Also there's a bridge to ODBC, which is also a good way to achieve the goal. Am I missing something?

    ReplyDelete
  10. Creating your own classes doesn't mean that the framework itself is ready or able to use your new classes everywhere (think especially things like IDE integration etc).

    ReplyDelete
  11. Eivind Bakkestuen And what about FireDAC's own ODBC driver? It surely can be used and consume third-party ODBC drivers, can't it?

    ReplyDelete
  12. Yes, FireDAC supports ODBC as one of its built-in database connectivities, so it can certainly consume any ODBC driver conforming to the standard level required by FireDAC.

    ReplyDelete

Post a Comment