2016-08-11 5 views
0

背景:私は本当に新しいです。 PowerCenterのExpressバージョンのためのインフォマティカ開発者:私は仕事の流れにおける1つのステップとしてT-SQLステートメントを実行したい9.6.1ホットフィックス2informaticaはSQL変換でSQLを実行します

truncate table dbo.stage_customer 

私はマッピングを作成しようとしたが、SQL変換を追加しますその上に。上記のクエリをSQLクエリウィンドウに入力します。私は、ちょうどスタート、マッピング、および終了のワークフローにマッピングを追加しました。私は流れを検証するとき、私はこのエラーを得た:

The group [Input] in transformation xxx must have at least one port 

私はこの(TRUNCATE文は)基本的には、入力または出力を必要としないので、必要なものをポート見当がつかない。

+0

簡単に言えば、あなたは間違っている。 Informaticaは「SQL文を実行するツール」ではありません。これはETLツールであり、データフローの作成に使用できます。そのためには、ソースとポートとリンクが必要です。それはいくつかの追加のステートメントを実行することもできますが、他のすべてのものを捨てることはできません。 – Maciejg

+0

いいえ、SQL文を実行するだけではなく、ワークフローのステップです。テーブルを切り捨ててそのテーブルにデータを入れる必要があります。 – thotwielder

+0

この場合は、単にセッションターゲットプロパティを使用するか、プレ/ポストSQLステートメントのうち、どちらが最善のものかを示します。 – Maciejg

答えて

0

ロード前にターゲットテーブルを切り捨てたい場合、なぜセッションプロパティに存在する組み込みオプションを使用しないのですか?

後藤ワークフローマネージャ - >オープンセッション - >マッピングはタブ - > [プロパティ]を選択し、「表オプションを切り捨てる」>左側 - リストされたターゲットテーブルをクリックして、ちょうどあなたが質問に答えるために、それを

を有効に、私はあなたが持っていると思います少なくとも1つの入力ポートと出力ポートを(変換されていないため)SQL変換に接続します。ただ、ダミーポートを作成し、この記事を試す再び

を試す - click here

1

をAswinは、セッション中にオプションで構築された使用を示唆したようにプリSQLコマンドで「テーブルdbo.stage_customerを切り捨てる」

+0

pre-sqlコマンドが見つかりません。マッピングまたはワークフローにありますか?私は両方を見てみましたが、何も見ませんでした。私はエクスプレス版btw – thotwielder

+0

を使用しています。ソースオブジェクト(Readビュー)のプロパティで見つかったものです。それはうまくいくかもしれない。 – thotwielder

1

をクエリを使用してくださいプロパティ。

ただし、運用環境では、ユーザーはデータベース内のテーブルのテーブルアクセスを切り捨てることはできません。この場合、「ターゲット表の切り捨て」オプションを選択すると、informaticaワークフローは失敗します。ターゲット・テーブルを切り捨てるストアド・プロシージャを用意し、ユーザーにデータベースへの切り捨てアクセスがない場合のワークフローの失敗を避けるため、そのストアド・プロシージャをinformaticaマッピングで使用するとよいでしょう。

+0

ありがとう、良い点。 – thotwielder

関連する問題