首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle中使用datastage从文本导入到oracle的前导问号?

问oracle中使用datastage从文本导入到oracle的前导问号?
EN

Stack Overflow用户
提问于 2013-01-24 11:07:40
回答 2查看 1.7K关注 0票数 1

问号"?“仅显示在要插入的第一行的第一个字段的前面。

有一次,我将ftp上传文件类型更改为text/ascii (而不是二进制),它似乎解决了问题。但后来它又回来了。服务器操作系统为aix5.3。

DataStage为7.5x2。

Oracle是11g。

我使用ue将文件保存为utf-8,使用unix结束标记。以前有人用过这玩意儿吗?

EN

回答 2

Stack Overflow用户

发布于 2013-02-06 12:19:49

问号本身没有多大意义,因为它可能只是数据库无法识别的某些特殊字符的“掩码”。您没有提供有关您的环境的任何细节,因此我在这里的观点只是猜测。我希望它能给你一点启发。

文本文件是如何创建的?如果它是在windows环境中创建的文件,你很可能会有像这样的字符,因为刹车线{CR}{LF}个字符。

oracle表的数据类型是什么?Char数据类型将根据字段的大小“填充”每个位置,在这种情况下,我建议使用varchar。

如果不是这样,我会在十六进制模式下编辑文件,并检查此特定字符的Ascii代码,然后使用修剪(如果是并行的)或转换(如果是服务器)来替换该字符。

convert函数如下所示:

Convert(字符(Ascii_char_number),'',your_string)

或者,如果作业是并行作业,则可以使用Trim函数

Trim(your_string,ascii_char_number,'L')

选项"L“将删除所有前导字符。您可能需要调整此函数以满足您的需要。如果您不熟悉TRIM函数,可以在datastage在线文档中找到更多详细信息。

在执行此操作时,我要给出的唯一警告是,您将从原始数据源中删除数据,因此在像这样操作文件时,请确保您没有删除任何有效信息,因为这不是ETL专家之间非常推荐的做法。

有任何问题,请叫我一声。如果我能帮上忙我很乐意。

干杯

票数 1
EN

Stack Overflow用户

发布于 2016-02-18 03:23:20

我也遇到过类似的问题,无法打印的字符显示为'?‘数据存储在处理这些记录时抛出警告。我可以不显示那些无法打印的字符,所以我使用了函数ICONV,它将这些字符转换为可打印的字符。有多个选项,我选择了将它们转换为‘’的选项。这对我很有效。下面的IBM页面中提供了更多详细信息:

https://www-01.ibm.com/support/knowledgecenter/SSZJPZ_11.3.0/com.ibm.swg.im.iis.ds.parjob.dev.doc/topics/r_deeref_String_Functions.html

http://docs.intersystems.com/ens201317/csp/docbook/DocBook.UI.Page.cls?KEY=RVBS_foconv

我使用的转换: ICONV(column_name,"MCP")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14493277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档