2017-07-25 74 views
0

我正在使用Informatica從.DAT文件向我的teradata表接收數據輸入。但它在垃圾人物問題上失敗。無法看到垃圾字符

我的解決方案 -

刪除使用REPLACE函數的垃圾字符。我試圖在記事本中打開.dat文件++,看看什麼是垃圾/人品不好,但我認爲這(幾樣)

Creave Cloud 
Mulple 

它看起來如何在記事本++

enter image description here

圖片

它顯示的文字是xEDxAFx80 xEDXB6X9F

我問 -

我不知道這些字符是什麼意思。任何人都可以告訴我的ASCII代碼或如何把它放在一個函數中,這樣我可以用另一個字符替換它嗎?

編輯 -

Target column_name - COLUMN_NAME VARCHAR(240) CHARACTER SET UNICODE NOT CASESPECIFIC [Teradata Database] 
Source Column_name - VARCHAR2(240) [ORACLE Database] 

數據在甲骨文 -

enter image description here

+0

您可以確定在您的.dat文件中使用了哪種「編碼」格式?如果是這種情況嘗試UTF-8 – Fmanin

+0

奇怪,看起來像「ti」搞砸了,似乎不是有效的Unicode。該列的數據類型和源編碼是什麼?並且'char2hexint(col)'返回什麼? – dnoeth

+0

@dnoeth VARCHAR2(240)是源數據類型。這是oracle系統。當我使用char2hexint時,我得到一些十六進制數字。 –

回答

0

您可以分析使用XML解析器或到XML目標和垃圾字符的字符將轉換爲:其十六進制表示不會出錯。但是,Nico在這裏提供了一個更簡單的解決方案 https://network.informatica.com/thread/20642