2015-06-17 121 views
1

當我運行informatica映射時,在源和目標列中具有LONG列的數據類型爲CLOB時出現以下錯誤。我正嘗試使用TO_LOBTO_CLOB,但沒有幫助。在infa映射中的源限定符中沒有LONGCLOB,所以我在Source限定符中使用了數據類型作爲該列的字符串,文本,nsting和ntext,但仍然拋出相同的錯誤。在INFORMATICA中將LONG轉換爲CLOB

ORA-00932: inconsistent datatypes: expected CLOB got LONG 

讓我知道如果你遇到這樣那樣的錯誤,把從LONGCLOB

感謝 克里提

回答

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列來讀取函數中的行。