Informix Server Rejected Connection

connectionsinformixtroubleshooting

What are possible causes for the following error?

DB Error: connect failed [nativecode=08004 [unixODBC][Informix]
[Informix ODBC Driver [Informix]Server rejected the connection.]

I have doubled the number of allowed connections thinking was that it was running out of connections in the pool but that has made no change to getting this error. It only happens when server is under load.

Best Answer

I'm not immediately sure how to interpret the 'nativecode=08004' part of the message shown. In decimal, error -8004 is about 'Illegal FLOAT constant' and is for one of the Informix SQL compilers. In hex, it corresponds to 32772 decimal, but that isn't a known error number. If it is an SQLSTATE value, then … hmmm, I'm not sure how to find out the interpretation of it.

I did a rather specialized search and came across:

-1809 Server rejected the connection.

Check that you have permission to connect to the server that you specified. If you specified both a database server and a database, check to see that you have permission to access the database.

This error message can occur when you are trying to use a Pluggable Authentication Module (PAM) feature of IDS when one or both of the following conditions exists:

  • The PAM configuration file is not set correctly. Refer to the OS vendor documentation for more information.

  • The client or server computer is not configured to handle PAM messages that are generated from a connection request.

I suspect, but without much actual evidence at the moment, that the second bullet point might be applicable.

There is some information missing from the question which I regard as crucial:

  • Which platform is the ODBC running on? Is the Informix server on the same machine? If not, what platform is that running on too?
  • Which version of Informix ODBC are you using? Which version of Informix server are you using?
  • You're using the unixODBC driver manager; which version of that (more for completeness than because it is likely to be critical).
  • You say that you see this error under load — what does that mean to you? Is it a single process making many connections concurrently? Or many copies of a single program connecting concurrently? Or many copies of many programs connecting concurrently? Or something else? How many connections does it take before the problem shows up?
  • What sort of connection are you using? There are shared memory or socket connections primarily, or perhaps IPC streams.

If you have support for your Informix product, you should probably contact IBM/Informix Technical Support. If you don't, you might do better via the IIUG mailing lists. It is free to join and you can choose which lists you receive. You probably want the 'ids@iiug.org' mailing list.

Failing that, over time, and possibly with increasingly fiddly diagnostics, we might eventually get to the bottom of the trouble. But to do so, I'll need answers to at least some of the questions above.