I've just updated the informix jdbc driver on my application (from 3.0 to V4.10.JC4DE) and the following error occurred, when trying to connect with informix 9.
java.sql.SQLException: Routine (get_data_type) can not be resolved.
at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3130)
at com.informix.jdbc.IfxSqli.D(IfxSqli.java:3412)
at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2325)
at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2250)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1485)
at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1465)
at com.informix.jdbc.IfxResultSet.a(IfxResultSet.java:211)
at com.informix.jdbc.IfxStatement.executeQueryImpl(IfxStatement.java:1064)
at com.informix.jdbc.IfxStatement.executeQuery(IfxStatement.java:236)
at com.informix.jdbc.IfxDatabaseMetaData.getColumns(IfxDatabaseMetaData.java:3549)
at com.mchange.v2.c3p0.impl.NewProxyDatabaseMetaData.getColumns(NewProxyDatabaseMetaData.java:3968)
at org.hibernate.tool.hbm2ddl.TableMetadata.initColumns(TableMetadata.java:197)
at org.hibernate.tool.hbm2ddl.TableMetadata.<init>(TableMetadata.java:58)
at org.hibernate.tool.hbm2ddl.DatabaseMetadata.getTableMetadata(DatabaseMetadata.java:113)
... 54 more
The new driver works fine with Informix 11. Unfortunately, I have to support connection with Informix 9.
Unfortunately, Informix 9 is a very very old engine. I think you should upgrade (or tell your clients to upgrade) to a newer - and supported - version. A simple upgrade should give them lots of new features, better performance (at least 40% more), and of course, a more stable engine.
Actually it really does not support version 9. On the product Release Notes page, you will see that:
"To use IBM Informix JDBC Driver to connect to an IBM Informix database, you must use one of the following IBM Informix database servers:
Version 11.50, 11.70, or 12.10
IBM Informix Extended Parallel Server, Version 8.3 or later
"