http://www.perlmonks.org?node_id=830883


in reply to What is your favourite Linux or cross-platform database?

Another thing I expect is: Get a good error message when something goes wrong.

Sounds trivial, but is far from being wide spread - for example there are cases where violated permissions lead postgres to silently do nothing, instead of throwing an error. (At least a colleague of mine observed that; which is the reason why we did the last project with Firebird. Firebird is great in many ways, but the Perl driver (DBD::InterBase) sucks). Also Mysql with the myisam driver parses lots of things and then ignores them - not good, IMHO.

Anyway, SQLite is quite good, Postgres is quite good (I've never encountered the permissions problems myself, so I don't know how much of a problem they are in the wild). Firebird is also quite good (and rock solid), but in some regards a bit ancient, and as mentioned above, the Perl driver is not so good.

Perl 6 - links to (nearly) everything that is Perl 6.
  • Comment on Re: What is your favourite Linux or cross-platform database?

Replies are listed 'Best First'.
Re^2: What is your favourite Linux or cross-platform database?
by Steve_BZ (Chaplain) on Mar 25, 2010 at 16:11 UTC

    I agree about Firebird and DBD::InterBase, Firebird seems great (and on Windows it works very well with ODBC), but on Linux DBD::InterBase crashes randomly. I also tried unixODBC, but that was even worse. So it seems a little sad that what seems to be such a nice database with good support and tools, is marred by such a poor Perl interface.

    Steve

      Out of interest, what ODBC driver did you use and why was it so bad?

        Hi Mje,

        Well apart from the install which proved a nightmare under Kubuntu 9.04, but mysteriously cleared up under 9.10 see Installing DBD::ODBC, in the end I gave up using ODBC for the Firebird 2.1 connection because I couldn't get the DATE (and I think also number formats) to work and there were a number of other stability issues which I can't remember. Instead I used the DBI::Interbase driver, while it works, it is subject to occasional crashes, so I'd like to go back to trying ODBC, if it turned out to be more stable.

        My current main ODBC problem is that if I use isql on employee.fbd, (eg select first 1 change_date from salary_history), I get:

        1992-12-15 00:00:00. (Data type TIMESTAMP)

        if I use it on my own database, (eg select first 1 att_patient_examination_dtd from tbl_patient_exam), I get:

        22256-10-18. (Data type DATE)

        Any ideas what I could do?

        Surely the DATE format should work? Other applications like Flamerobin have no such problems on the same field and they don't crash either.

        Regards

        Steve