2017-04-07 122 views
0

我创建了一个表,数据类型decfloat列,但是当我试图创建一个联合昵称为这个表像这样:DB2昵称不支持decfloat类型?

CREATE SERVER CRV_TEST TYPE DB2/UDB VERSION '9.7' WRAPPER DRDA 
    AUTHORIZATION "XXX" PASSWORD "XXX" OPTIONS (DBNAME 'XXX'); 
CREATE USER MAPPING FOR DB2INST3 SERVER CRV_TEST 
    OPTIONS (REMOTE_AUTHID 'xxx', REMOTE_PASSWORD 'xxx'); 

CREATE NICKNAME xx.xx FOR CRV_TEST.xx.xx; 

我得到了如下错误:

DB2 Database Error:

ERROR [] [IBM][DB2/AIX64] SQL3324N Column "PAYMONEY" has a type of "DECFLOAT" which is not recognized.

我的远程DB2版本是9.7,本地是9.5。有没有人有任何建议来解决这个问题?

+0

源和昵称的完整DDL?否则升级... –

+0

这是偶然的联邦设置吗? – mustaccio

+0

CREATE SERVER CRV_TEST TYPE DB2/UDB VERSION '9.7' WRAPPER DRDA AUTHORIZATION “XXX” PASSWORD “XXX” OPTIONS( DBNAME \t 'XXX' ); 创建DB2INST3 SERVER CRV_TEST OPTIONS USER MAPPING( REMOTE_AUTHID \t 'XXX', REMOTE_PASSWORD \t 'xxx' 的 ); CREATE NICKNAME xx.xx FOR CRV_TEST.xx.xx; 然后我收到错误消息:查找错误 - DB2数据库错误:错误[] [IBM] [DB2/LINUXX8664] SQL3324N列“PAYMONEY”有一种“DECFLOAT”,它不被识别。 – Jason

回答

0

有趣的是,这其实是documented as a limitation of the federated wrapper 9.5版本:

The data source data types that correspond to the following DB2 data types are not supported by any of the wrappers: XML, DECFLOAT, structured types, and REF types.

在DB2联合支持,有时落后于引擎开发,在这种情况下本身不支持DECFLOAT后面。如果您正在运行DB2 9.5的最新修订包,但仍然出现此错误,看起来您唯一的选择是升级到更新的DB2版本。

+0

无法在几天内登录到stackoverflow。谢谢大家!我改变了我的数据类型以匹配联邦。除了升级DB2版本可能没有办法。 – Jason