DB2昵称不支持decfloat类型?

时间:2017-04-07 02:50:33

标签: types db2 db2-luw

我创建了一个包含数据类型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数据库错误:

     

错误[] [IBM] [DB2 / AIX64] SQL3324N列“PAYMONEY”的类型为“DECFLOAT”,无法识别。

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

1 个答案:

答案 0 :(得分:0)

有趣的是,对于版本9.5,这实际上是documented as a limitation of the federated wrapper

  

任何包装器都不支持与以下DB2数据类型对应的数据源数据类型:XML,DECFLOAT,结构化类型和REF类型。

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