2017-07-25 31 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