我刚刚更新了应用程序上的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
新驱动程序适用于Informix 11.不幸的是,我必须支持与Informix 9的连接。
答案 0 :(得分:1)
不幸的是,Informix 9是一款非常古老的引擎。我认为您应该升级(或告诉您的客户升级)到更新版本和支持版本。简单升级应该为它们提供许多新功能,更好的性能(至少40%以上),当然还有更稳定的引擎。
实际上它确实不支持版本9.在产品发行说明页面上,您将看到:
“要使用IBM Informix JDBC Driver连接到IBM Informix数据库,必须使用以下IBM Informix数据库服务器之一:
Version 11.50, 11.70, or 12.10
IBM Informix Extended Parallel Server, Version 8.3 or later
“