我有以下問題:我們有一個DB2表具有尺寸4000DB2表作爲圖中示出了oracle的字符字段爲VARCHAR2(0 CHAR)
不知何故這個字段被在Oracle解釋爲字符字段varchar2(0字符),當我通過Oracle網關查看它。
CREATE OR REPLACE FORCE VIEW DB2SCHEMA.TEST_TABLE
(
ID,
TEXT
)
AS
SELECT TRIM ("ID") AS ID,
NULL AS "TEXT
FROM [email protected];
有沒有人曾經expirienced這個問題?由於某種原因,Oracle會將這個領域視爲長期。我正在使用Oracle 11g。我想要顯示它爲普通文本字段(在DB2中它是一個固定長度的字符字段)
感謝您的一些輸入,也許有人知道如何獲得這是一個正常的Varchar2(4000個字符)。
DESC [email protected];
ORA-00604: error occurred at recursive SQL level 1
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Oracle][ODBC DB2 Wire Protocol driver][UDB DB2 for OS/390 and z/OS]UNAVAILABLE RESOURCE CAUSED FAILED EXEC; 00D70024 TYPE 00000220. XT.DSNDBC.DSNDB06.DSNDLX04.I0001.A001 {HY000,NativeErr = -904}
ORA-02063: preceding 2 lines from QDBC
如前所述的SELECT * FROM視圖確實提供了我們已經改變一個Oracle參數
HS_KEEP_REMOTE_COLUMN_SIZE = LOCAL
這提供了正確的結果與SELECT * FROM視圖0字符字段。我相信這是解決方案。
什麼的輸出'DESC XT.TEST_TABLE @ DB2SCHEMA'在SQL * Plus中? –
@MarcoBaldelli不幸的是,這似乎不工作:/你有任何其他的建議嗎? –
在您的選擇中,您只從遠程數據庫中選擇「ID」列,第二列是常量「NULL」。你可以在DB2端發佈表的結構嗎?網關正在翻譯哪一列? –