2

変換ロジックの後にビジネス エンティティが設定されているいくつかのマッピングがあります。行ボリュームは高い側にあり、特定の静的な値にデフォルト設定されているかなりの数のビジネス属性があります。

したがって、マッピングからプッシュされるデータを減らすために、ターゲットテーブルに「デフォルト」句を作成し、マッピング自体からのフィードを停止しました。これで、「通常」モードでセッションを実行しているときに問題なく動作します。これにより、ターゲット テーブル行が効果的に得られます。一部の列はマッピングによって供給され、残りの列はテーブル DDL の「デフォルト」句に基づいて値を取得します。

ただし、ボリュームのハイエンドを扱っているため、セッションをバルク モードで実行したいと考えています (ターゲット テーブルに既存のインデックスはありません)。

セッションを一括モードに切り替えるとすぐに、この特定の機能 (デフォルト値) が機能しなくなります。この結果、定義された「デフォルト」値ではなく、ターゲット列に NULL 値が表示されます。

私は疑問に思う -

  1. これは予想される動作ですか?
  2. そうでない場合、どこかで構成を見逃していますか?
  3. Oracle へのチケットを作成する必要がありますか? またはインフォマティカ?

私の構成 -

Informatica 9.5.1 64 ビット、Oracle 11g r2 (11.2.0.3) を Solaris (SunOS 5.10) で実行

ここで助けてくれることを楽しみにしています...

4

2 に答える 2

3

予期される動作である可能性があります。

Informatica の一括モードは、Oracle の「ダイレクト パス」API を使用しているようです (たとえば、https://community.informatica.com/thread/23522を参照) 。

このドキュメント(http://docs.oracle.com/cd/B10500_01/server.920/a96652/ch09.htm、フィールド「ダイレクトパスのデフォルト」を検索)から、次のことを収集します。

ダイレクト・パス・ロードを使用する場合、データベースで定義されたデフォルトの列仕様は使用できません。デフォルト値が必要なフィールドは、DEFAULTIF 句で指定する必要があります。DEFAULTIF 句が指定されておらず、フィールドが NULL の場合、NULL 値がデータベースに挿入されます。

これがこの動作の理由である可能性があります。

于 2013-06-19T21:19:09.097 に答える