Oracle 来自远程表的LOB定位器

Oracle 来自远程表的LOB定位器,oracle,lob,Oracle,Lob,运行以下查询时出现oracle异常 ORA-22992:无法使用从远程表中选择的LOB定位器 SELECT OLU.CNIC, OLU.LR_USER_NAME NAME, OLU.FATHERS_NAME, OLU.ADDRESS, BATCH_VERIF.CREATED_DATE BATCH_DATE, TO_DATE(OLU.AT

运行以下查询时出现oracle异常 ORA-22992:无法使用从远程表中选择的LOB定位器

        SELECT 
            OLU.CNIC,
            OLU.LR_USER_NAME NAME,
            OLU.FATHERS_NAME,
            OLU.ADDRESS,
            BATCH_VERIF.CREATED_DATE BATCH_DATE,
            TO_DATE(OLU.ATTRIBUTE9, 'mm/dd/yyyy hh:mi:ss AM')  TRANSLATION_DATE
    FROM ORION.ORN_LR_USER@LIV OLU
    INNER JOIN
    (
        SELECT MAX(BATCH_ID) BATCH_ID, CNIC
        FROM ORION.ORN_LR_BATCH_CNIC@LIV
        WHERE IMPORT_DATE IS NOT NULL AND IMPORTED = 'T'
        GROUP BY CNIC
    ) BATCH_CNIC
            ON (BATCH_CNIC.CNIC = OLU.CNIC
                    AND NVL (OLU.IS_BATCH_VERIFIED, 'F') = 'T' 
                    AND NVL (OLU.ATTRIBUTE10, 'F') = 'T'
                    AND OLU.ATTRIBUTE9 IS NOT NULL) 
        INNER JOIN ORION.ORN_FILE_BATCH_VERIF@LIV BATCH_VERIF
            ON BATCH_VERIF.BATCH_ID = BATCH_CNIC.BATCH_ID;
但在注释翻译日期后,它工作正常,lob类型的列也不正常。。原因可能是什么

        SELECT 
            OLU.CNIC,
            OLU.LR_USER_NAME NAME,
            OLU.FATHERS_NAME,
            OLU.ADDRESS,
            BATCH_VERIF.CREATED_DATE BATCH_DATE
            --TO_DATE(OLU.ATTRIBUTE9, 'mm/dd/yyyy hh:mi:ss AM')  TRANSLATION_DATE
    FROM ORION.ORN_LR_USER@LIV OLU
    INNER JOIN
    (
        SELECT MAX(BATCH_ID) BATCH_ID, CNIC
        FROM ORION.ORN_LR_BATCH_CNIC@LIV
        WHERE IMPORT_DATE IS NOT NULL AND IMPORTED = 'T'
        GROUP BY CNIC
    ) BATCH_CNIC
            ON (BATCH_CNIC.CNIC = OLU.CNIC
                    AND NVL (OLU.IS_BATCH_VERIFIED, 'F') = 'T' 
                    AND NVL (OLU.ATTRIBUTE10, 'F') = 'T'
                    AND OLU.ATTRIBUTE9 IS NOT NULL) 
        INNER JOIN ORION.ORN_FILE_BATCH_VERIF@LIV BATCH_VERIF
            ON BATCH_VERIF.BATCH_ID = BATCH_CNIC.BATCH_ID;
“将此列转换为日期类型时出现问题”

嗯,听起来可能是甲骨文的错误。但也许你可以用这个技巧来解决这个问题:

TO_DATE(substr(OLU.ATTRIBUTE9, 1, 22), 'mm/dd/yyyy hh:mi:ss AM') TRANSLATION_DATE

ATTRIBUTE9是varchar2列如果我理解正确,您是说ATTRIBUTE9不是CLOB列。你确定吗?如果是,引用表中是否有CLOB类型的列?是,ATTRIBUTE9不是CLOB列。引用的表中有CLOB列,但在任何查询中都未选择这些列。如果您比较两个脚本,您会注意到我想要分享的差异。ATTRIBUTE9的大小是多少,数据库字符集是多少?我认为可能是一个大字符串(例如
varchar2(4000)
如果字符集不同,并且通过链接为每个字符分配了多个字节,则可能会导致此问题;它实际上会成为一个隐式CLOB。虽然我看到这一点已经很久了,但我将尝试挖掘一些内容。ATTRIBUTE9 512字节的大小,此列的大小无关紧要,因为我以前选择过此列,但没有发现任何错误问题..将此列转换为日期类型时出现问题。错误在哪一端?oracle?