Informix is killing me

May 17th, 2003 § 3 comments

There are a lot of bad database engines out there, but Informix is surely one of the worst I have ever used in my whole programming career. I’m using a 7.x release in one project here at work, and I think I’ll go crazy if I don’t finish it soon. To tell the truth, it’s the second time I had to use Informix in a project, but the first was long ago and I had already forgotten how abominable it is.

Just to begin with the list of problems, support to SQL-92 ranges from minimal to non-existent. There are severe inconsistencies in the SQL support all over its parser. For example, I had one view that didn’t work as expected until I changed the select statement to use the default Informix syntax instead of the SQL-92 syntax I was using. The view kept bringing null values where none was should appear, but when I run the standalone select statement against the database it returned the correct result set.

Another big problems is the limit in the length of the identifiers, which are restricted to 18 characters. This is simply laughable, and makes naming keys and fields a nightmare — especially when working with a internal standard that requires fields to be prefixed with mnemonic type indicators and uses underscores to separate words wasting further space.

Also, blob fields are not directly support in inserts and updates. Granted, many other database engines do not support this feature, but it doesn’t matter. If one database engine supports it, all others should support it as well.

Informix also allows auto-incremented fields but doesn’t provide any direct way to retrieve the last inserted value atomically. (I couldn’t find any reference to such function, but I’d be glad to be proved wrong.)

To add insult to injury, the OLE-DB driver doesn’t work at all, and the ODBC driver is terribly inefficient and hard to configure. Also, as I couldn’t manage to install the ODBC driver in my machine, I have to access the server (a SCO Unix) via a telnet connection using a very archaic interface.

After the past days, I give myself the right of self-pity. :-)

§ 3 Responses to Informix is killing me"

  • Ian Jones says:

    Ronaldo,

    Believe me when I say that I do feel sorry for you, as a long time Informix consultant, I’ve had to deal with these kind of inconsistencies and problems for some time.

    However, if you’re having problems installing the ODBC driver on your computer because you don’t have Admin rights, just run the “IBM Informix Client-SDK.msi” instead of the Setup.exe, this allows you to install a private version.

    Hope things get better for you on the Informix front, you’ll find that Informix is actually pretty good at what it does. It’s very reliable and performs well.

    Take care,

    Ian.

  • Ronaldo says:

    Ian,

    Thanks for your words. :-)

    The two past weeks were a terrible nightmare with regards to Informix but I know it’s because I don’t have much experience with it. We had a SCO Unix machine running Informix, and it suddenly died due to a disk failure. I was put in charge of reinstalling the database server on Windows NT, and I’m trying to learn about the Informix server as I go. I managed to install the server and properly configure it. Now I’m trying to load some tables from files but the server is hanging when a certain table is loaded. It’s a small table but the operation never completes. I’m completely lost about this. I’ll just keep trying with different parameters. :-)

    As for the ODBC driver, I didn’t found the file you mentioned on the CD I have. Is it downloadable?

  • Mike McEntee says:

    Hi to all you Informix Consultants out there!

    I just wanted to let you know, if you have Informix New Era experience and you are able to work in the UK on a Contract basis, and you are looking….

    Please get in contact as I might just be able to place you in your next contract!

    Regards

    Mike McEntee
    Xansa Recruitment
    mike.mcentee@xansa.com

What's this?

You are currently reading Informix is killing me at Reflective Surface.

meta