我有以下问题:我们有一个 DB2 表,其字符字段大小为 4000。
当我通过 Oracle 网关查看该字段时,不知何故,该字段在 oracle 中被解释为 varchar2(0 Char)。
CREATE OR REPLACE FORCE VIEW DB2SCHEMA.TEST_TABLE
(
ID,
TEXT
)
AS
SELECT TRIM ("ID") AS ID,
NULL AS "TEXT
FROM XT.TEST_TABLE@DB2SCHEMA;
有没有人经历过这个问题?出于某种原因,Oracle 会一直处理该字段。我正在使用 Oracle 11g。我想要的是将其显示为普通文本字段(在 DB2 中,它是一个固定长度的字符字段)
感谢您的一些输入,也许有人知道如何将其作为普通的 Varchar2(4000 Char)。
DESC XT.TEST_TABLE@DB2SCHEMA;
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 view 提供了一个 0 字符字段一样,我们更改了一个 Oracle 参数
HS_KEEP_REMOTE_COLUMN_SIZE=本地
这为 select * from view 提供了正确的结果。我相信这是解决方案。