0

我是刚开始使用 datastage 的新开发人员(来自 SSIS 的一些经验)。我要做的第一件事就是处理从 MQ 到数据库的 XML 数据流。我连接到 MQ,使用 XML 作业将标签映射到每个 db 列,然后将其插入到 db 中。但是,我遇到了传入 xml 的问题。我处理的每个 xml 文件中的一个字段包含相同的字符序列,类似于 "&$!0" 的行。

当我运行我的作业时,我收到一条错误消息,指出这是一个非法的 xml 字符并且作业失败。

有没有办法在 datastage 中替换这个值,因为它来自 xml,甚至只是删除它?我应该在工作中为此使用特定工具吗?

显然,最简单的解决方案是修复传入的数据,但与此同时,我希望能够进行一些测试,因此替代解决方案现在会很好。

任何建议将不胜感激。我是一名新开发人员,所以如果这个问题有点无知/低级,我深表歉意。

4

2 回答 2

1

使用记事本++之类的文本编辑器自己删除字符...

为了自动化,Linux 中的 sed 将完成您的工作,而用于 Windows 的 sed 也可能在 Windows 上工作!

于 2014-09-30T13:51:42.317 回答
1

这些字符只不过是 Unicode。您需要在插入数据库表之前删除它们。

试试下面的代码:

s = s.replaceAll("\\p{&$!0}+", "");

注意:您需要找出所有 Unicode 并将它们替换为“”(空白)。

您将在此处获得更多信息

于 2014-09-30T14:08:48.517 回答