0

私は、datastage を使い始めたばかりの新しい開発者です (SSIS の経験が少しあります)。私が最初に行っていることの 1 つは、MQ からデータベースへの XML データ フローの操作です。MQ に接続し、XML ジョブを使用してタグを各 db 列にマップし、db に挿入します。ただし、着信 xml に問題があります。私が処理する各xmlファイルのフィールドの1つには、 "&$!0" の行に沿ったものと同じ文字シーケンスが含まれています。

ジョブを実行すると、それは無効な xml 文字であり、ジョブが失敗するというエラーが表示されます。

データステージ内で、xml を介してこの値を置き換えるか、単に削除する方法はありますか? このために仕事で使用すべき特定のツールはありますか?

明らかに、最も簡単な解決策は、入ってくるデータを修正することですが、その間に、いくつかのテストを実行できるようにしたいので、別の解決策が今のところ最適です.

アドバイスをいただければ幸いです。私は新しい開発者なので、この質問が少し無知/低レベルである場合は申し訳ありません.

4

2 に答える 2

1

これらの文字は Unicode に他なりません。DB テーブルに挿入する前に、それらを削除する必要があります。

以下のコードを試してください:

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

注: すべての Unicode を見つけて、"" (空白) に置き換える必要があります。

詳細はこちら

于 2014-09-30T14:08:48.517 に答える
1

自分で文字を削除するには、notepad++ などのテキスト エディターを使用します...

自動化するには、Linuxのsedがあなたの仕事をし、WindowsのsedはおそらくWindowsでも動作します!

于 2014-09-30T13:51:42.317 に答える