我创建了一个包含数据类型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。有没有人有任何建议来解决这个问题?
答案 0 :(得分:0)
有趣的是,对于版本9.5,这实际上是documented as a limitation of the federated wrapper:
任何包装器都不支持与以下DB2数据类型对应的数据源数据类型:XML,DECFLOAT,结构化类型和REF类型。
DB2中的联邦支持有时落后于引擎开发,在这种情况下,它本身支持DECFLOAT
。如果您正在运行DB2 9.5的最新可能修订包并仍然出现此错误,看起来您唯一的选择是升级到较新的DB2版本。