目次

Search

  1. はじめに
  2. パイプラインのパーティション化について
  3. パーティションポイント
  4. パーティションタイプ
  5. プッシュダウンの最適化
  6. プッシュダウンの最適化およびトランスフォーメーション
  7. リアルタイム処理
  8. コミットポイント
  9. 行エラーのロギング
  10. ワークフローリカバリ
  11. 停止と強制終了
  12. コンカレントワークフロー
  13. グリッド処理
  14. ロードバランサ
  15. ワークフロー変数
  16. セッションのパラメータおよび変数
  17. パラメータファイル
  18. FastExport
  19. 外部データのロード
  20. FTP
  21. セッションのキャッシュ
  22. 差分集計
  23. セッションログインタフェース
  24. バッファメモリについて
  25. 高精度データ

詳細ワークフローガイド

詳細ワークフローガイド

日付の互換性

日付の互換性

Integration Serviceとデータベースは、異なる方法で日付を処理することがあります。日付変換をデータベースにプッシュするようにセッションを設定した場合、予期しない結果を受け取るかセッションが失敗する可能性があります。
次の日付設定と変換が異なっている場合、データベースではIntegration Serviceと異なる出力が生成される可能性があります。
  • 文字値に変換される日付値
    。Integration Serviceでは、トランスフォーメーションDate/Timeデータタイプが、データベース内のサブ秒精度をサポートしているネイティブデータタイプに変換されます。セッション内の日時形式をデータベースでサポートされていない形式に設定した場合、セッションが失敗します。例えば、Integration Serviceが日付に対してROUND関数を実行する際、MM/DD/YYYY HH:MI:SS.USの形式が使用され、文字カラムに日付値が格納されます。しかし、この関数をデータベースで実行すると、そのデータベースのデフォルト日付形式で日付が格納されます。データベースがOracleの場合、日付はデフォルトのDD-MON-YY形式で格納されます。日付をMM/DD/YYYY HH:MI:SS.USの形式にする必要のある場合は、プッシュダウンの最適化を無効にします。
  • TO_CHARおよびTO_DATE関数の日付形式。
    Integration Serviceによって関数がデータベースにプッシュされる際、Integration ServiceによってTO_CHARまたはTO_DATE関数内の日付形式が使用されます。データベースは各日付文字列を、そのデータベースでサポートされている日時値に変換します。
    例として、Integration Serviceでデータベースにプッシュされる式を次に挙げます。
    TO_DATE( DATE_PROMISED, 'MM/DD/YY' )
    データベースは指定された日付形式文字列MM/DD/YYにもとづいてDATE_PROMISEDポートを解釈します。データベースは、各日付文字列(例えば01/22/98)を、サポートされている日付値(例えばJan 22 1998 00:00:00)に変換します。
    Integration Serviceは、IBM DB2、Microsoft SQL Server、またはSybaseデータベースにプッシュされた日付形式がそのデータベースでサポートされていなかった場合、プッシュダウンの最適化を停止して、トランスフォーメーションを処理します。
    Integration Serviceは、すべての日付を変換してから、トランスフォーメーションをOracleデータベースまたはTeradataデータベースにプッシュします。データベースが日付変換後に日付形式をサポートしない場合、セッションが失敗します。
  • HH24日付フォーマット。
    HH24日付フォーマットは、Teradata用の日付フォーマット文字列には使用できません。Integration ServiceでTeradata用SQLが生成される際は、HH形式文字列が代わりに使用されます。
  • 日付形式文字列内の空白スペース。
    Teradata内の日付形式文字列には、空のスペースは使用できません。Integration ServiceでTeradata用SQLが生成される際は、スペースが「B」で置き換えられます。
  • ルックアップトランスフォーメーションでのサブ秒精度の処理
    ルックアップトランスフォーメーションでサブ秒精度を有効にした場合、データベースおよびIntegration Serviceでサブ秒精度を使用したルックアップ比較が実行されます。ただし、異なる結果が返されます。Integration Serviceとは異なり、データベースではルックアップ結果をサブ秒精度に基づいて切り詰めません。例えば、サブ秒精度をミリ秒まで示すようにルックアップトランスフォーメーションを設定したと想定します。ルックアップ結果が8:20:35.123456の場合、データベースからは8:20:35.123456が返されますが、Integration Serviceからは8:20:35.123が返されます。
  • SYSDATE組み込み変数
    。SYSDATE組み込み変数を使用した場合、Integration Serviceによってサービスプロセスを実行しているノードの現在の日付と時刻が返されます。しかし、トランスフォーメーションロジックをデータベースに渡した場合、SYSDATE変数は、データベースのホストマシンの現在の日付と時刻を返します。データベースをホストしているマシンのタイムゾーンが、Integration Serviceを実行しているマシンのタイムゾーンと同じでない場合、結果に相違が生じることがあります。