2017-04-07 124 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