2015-06-17 3 views
1

Я получаю ниже ошибки, когда я запускаю информационное сопоставление, которое имеет столбец LONG в столбце источника и цели, имеет тип данных CLOB. Я пытаюсь использовать TO_LOB и TO_CLOB, но не помогает. В исходном квалификаторе в картографировании infa нет LONG или CLOB, поэтому я использовал тип данных в спецификаторе Source как строку, текст, nsting и ntext для этого столбца, но все же выдавал ту же ошибку.Преобразование LONG в CLOB в INFORMATICA

ORA-00932: inconsistent datatypes: expected CLOB got LONG 

Позвольте мне знать, если вы столкнетесь с такого рода ошибки, преобразование из LONG в CLOB.

Благодаря Kriti

ответ

0

Если вы читали ссылку для функции TO_LOB http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions205.htm#SQLRF06134

тогда вы видите это работает только в INSERT ... SELECT ... заявления. Вы не можете конвертировать LONG в CLOB на лету. Единственный способ - заменить таблицу новым с помощью CLOB вместо LONG.

Однако есть обходное решение от Tom Kyte с использованием функции PL/SQL, считывающей rowid LONG в VARCHAR2 (32767). См. Здесь https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:1037232794454

Но это не работает для представлений, в которых вы не можете прочитать rowid. Вам нужно написать еще одну сложную функцию, чтобы принимать столбцы PK для чтения строки внутри функции.

Смежные вопросы