Java 无法解析例程(获取数据类型)

Java 无法解析例程(获取数据类型),java,jdbc,informix,Java,Jdbc,Informix,我刚刚在我的应用程序上更新了informix jdbc驱动程序(从3.0到V4.10.JC4DE),在尝试连接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)

我刚刚在我的应用程序上更新了informix jdbc驱动程序(从3.0到V4.10.JC4DE),在尝试连接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
java.sql.SQLException:无法解析例程(获取数据类型)。
位于com.informix.jdbc.IfxSqli.a(IfxSqli.java:3130)
位于com.informix.jdbc.IfxSqli.D(IfxSqli.java:3412)
位于com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2325)
位于com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2250)
位于com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1485)
位于com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1465)
位于com.informix.jdbc.IfxResultSet.a(IfxResultSet.java:211)
位于com.informix.jdbc.IfxStatement.executequimpl(IfxStatement.java:1064)
位于com.informix.jdbc.IfxStatement.executeQuery(IfxStatement.java:236)
位于com.informix.jdbc.IfxDatabaseMetaData.getColumns(IfxDatabaseMetaData.java:3549)
位于com.mchange.v2.c3p0.impl.NewProxyDatabaseMetaData.getColumns(NewProxyDatabaseMetaData.java:3968)
位于org.hibernate.tool.hbm2ddl.TableMetadata.initColumns(TableMetadata.java:197)
位于org.hibernate.tool.hbm2ddl.TableMetadata(TableMetadata.java:58)
位于org.hibernate.tool.hbm2ddl.DatabaseMetadata.getTableMetadata(DatabaseMetadata.java:113)
... 54多

新的驱动程序在Informix11中运行良好。不幸的是,我必须支持与Informix 9的连接。

不幸的是,Informix 9是一个非常古老的引擎。我认为你应该升级(或者告诉你的客户升级)到一个更新的、受支持的版本。一个简单的升级应该给他们很多新功能,更好的性能(至少多40%),当然,还有一个更稳定的引擎

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
实际上它不支持版本9。在产品发行说明页面上,您将看到:

“要使用IBM Informix JDBC驱动程序连接到IBM Informix数据库,必须使用以下IBM Informix数据库服务器之一:

Version 11.50, 11.70, or 12.10
IBM Informix Extended Parallel Server, Version 8.3 or later

版本升级是不可避免的,感谢您的回复