Results 1 to 4 of 4
  1. #1
    Join Date
    Sep 2004

    Unanswered: Error -21005 - Database LOCALE

    Hey there folks,

    I'm running a Informix 7.31 database server on windows 2000.
    This database has the single purpose of holding all of our ERP data (built by a brazilian company) and is accessed only by this application that handles data interaction via ODBC, clients don't access the DB directly. They have access to an application server that talks to the database layer application that talks to informix. (hope i made myself clear there.. ).

    My problem seems to be due to diferent locales on the database and on the data that is entered into it. The DB uses en_US.819 (which i believe is informix' default) and the clients enter data that has iso-8859-1 characters, brazilian ones.
    Here's the error i get in ODBC:
    Error=21005[Informix][Informix ODBC Driver]Unspecified System Error = -21005.
    and then the row doesn't get updated.
    i coudn't find anything related to that error anywhere, but i'm pretty sure that's the problem.

    my question is. Is there anyway to change the database locale without having to export all the data, dropping the database, recreating the database with a different charset (which i'm not entirely sure how to do) and then re-importing the data back?

    the server in question (HP Proliant 370, 2x 3,06 GHz HT, 4GB RAM, ~60GB RAID 5) takes about 2 hours to export the data (~ 6 GB) and around 3,5 hours to import it back using dbexport and dbimport (is it too slow?).

    Any help is greatly appreciated as i've just started managing this database a couple of weeks ago and am still getting the hang of it.

    Thank you!

  2. #2
    Join Date
    Aug 2003

    Please check the environment variables CLIENT_LOCALE and DB_LOCALE, next
    look in systables (select * from systables where tabid = 91)


  3. #3
    Join Date
    Jan 2003

    Client_locale Db_locale


    In setnet32 on the client side ( In fact your databaselayer application) set the CLIENT_LOCALE to iso-8859-1 and the DB_LOCALE to en_US.819 .

    Restart your application.

    This should do the codeset conversion for you

    Best regards

  4. #4
    Join Date
    Sep 2004


    Sorry to take so long to post a reply.

    I was able to fix my ODBC problem by upgrading to the latest IBM driver available for download on their website. The latest version of their iConnect product.

    So it happens, that yesterday, out of the blue, the problem started happening again. Only this time, nothing could fix it.

    I had to call on a consulting company to fix the problem, which they did, by reinstalling informix, and an OLDER version of the connect libraries. ODBC driver version 3.31.

    We now have a running system, and if the problem happens again, we know just how to fix it. Export the data, reinstall everything, and import the data back in.

    Dandy, just freaking dandy...

    Thanks for all your help!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts