目次

Search

  1. はじめに
  2. Workflow Manager
  3. ワークフローとワークレット
  4. セッション
  5. セッション設定オブジェクト
  6. タスク
  7. ソース
  8. ターゲット
  9. 接続オブジェクト
  10. 検証
  11. ワークフローのスケジュール設定と実行
  12. メールの発信
  13. Workflow Monitor
  14. Workflow Monitorの詳細
  15. セッションとワークフローのログ
  16. 付録 A: セッションプロパティリファレンス
  17. 付録 B: ワークフロープロパティリファレンス

ワークフローベーシックガイド

ワークフローベーシックガイド

シフト依存のマルチバイトデータの書き込み

シフト依存のマルチバイトデータの書き込み

シフト依存のフラットファイルターゲットに書き込む場合、ターゲットに書き込むデータがファイル要件を満たしていなければ、Integration Serviceはシフト文字とスペースを追加します。 出力データの精度がターゲット列のバイト長に一致するように、マルチバイトデータを含む各データ列に最低2バイトを追加する必要があります。
Integration Serviceは、シフト文字およびスペースを以下の方法で書き込みます。
  • 列が2バイト文字で始まるか、または2バイト文字で終わる場合、Integration Serviceはシフト文字を追加し、列が1バイトのシフト文字で始まり、1バイトのシフト文字で終わるようにします。
  • データが列長より短い場合、Integration Serviceは残りの列にスペースを埋め込みます。
  • データが列長より長い場合、Integration Serviceはデータを切り詰めて列が1バイトのシフト文字で終わるようにします。
Integration Serviceでシフト依存のデータを含む固定長ファイルがどのように扱われるかについて説明します。たとえば、ターゲットに以下のデータを出力するとします。
SourceCol1
SourceCol2
AAAA
aaaa
A
は2バイト文字で、
a
は1バイト文字です。
最初のターゲットカラムは8バイト、2番目のターゲットカラムは4バイトのデータを含みます。
Integration Serviceは、シフト依存データを処理するためにシフト文字を追加する必要があります。 最初のターゲット列が処理できるのは8バイトであるため、Integration Serviceはデータを切り詰めないとシフト文字を追加できません。
TargetCol1
TargetCol2
-oAAA-i
aaaa
以下の表に、この例で使用されている表記の説明を示します。
表記
説明
A
2バイト文字
-o
シフトアウト文字
-i
シフトイン文字
最初のターゲットカラムには、Integration Serviceは3つの2バイト文字を書き込みます。 列は1バイト文字で終わる必要があるため、出力カラムに追加の2バイト文字を書き込むことはできません。最初のターゲット列定義にさらに2バイトを追加する場合、Integration Serviceはシフト文字を追加し、切り詰め操作をせずにすべてのデータを書き込むことができます。
2番目のターゲットカラムには、Integration Serviceは4つの1バイト文字すべてを書き込みます。 列が1バイト文字で始まり、1バイト文字で終わるため、この列にはシフト文字は書き込まれません。