none
SSISがデバッグでは正常終了するがSQLServerからジョブやステップ実行だとエラーになる RRS feed

  • 質問

  • すみません、質問させてください。

    1.CSVファイルをワークテーブルに取込
    2.ワークテーブルから本番テーブルにインポート
    3.CSVファイルを取込済フォルダに移動し、正常終了メールを送付

    という毎月ジョブ実行する処理を作成しようとしています。
    1の処理ではテーブルのフィールドに合わないデータは
    エラーデータリストとしてファイルを出力し、そのファイルを添付したメールを送付します。

    【SSIS Lightning】CSV ファイル内の異常データをエラーファイルにリダイレクトする
    http://blogs.timberlandchapel.com/blogs/timberlandchapel/articles/889.aspx

    を参考に思った動作をする処理が作れたのでSQLServer2008R2から
    dtsxファイルを指定してステップを作成し、実行しました。

    正常データだと1~3全て成功したのですが、
    不正データだと1の処理でファイルが作成できません。

    エラーファイルだけでなくログファイルも作成できていません。
    正常データの場合もログファイルが作成できていませんでした。

    アクセス権限かと思い、それらしいユーザーにフルアクセス権限をつけましたが
    変化ありません。(そもそも3の処理が成功しているからアクセス権限ではない?)

    どのあたりを調査すればいいか、手がかりを頂きたいです。

    エラーとしては

    エラー: 2013-09-24 09:34:58.03
       コード: 0xC0202020
       ソース: データ フロー タスク フラット ファイル ソース 1 [1]
       説明: バッファーの種類が無効です。パイプラインのレイアウトおよびすべてのコンポーネントが検証に合格していることを確認してください。
    エラー終了
    エラー: 2013-09-24 09:34:58.03
       コード: 0xC004701A
       ソース: データ フロー タスク SSIS.Pipeline
       説明: コンポーネント "フラット ファイル ソース 1" (1) が実行前フェーズに失敗し、エラー コード 0xC0202020 が返されました。

    が発生してその後の処理もエラーになっていくという感じです。

    よろしくお願いいたします。
    2013年9月24日 3:15

回答

  • 一例ですが、フラットファイルソースからエラーレコードのリダイレクト先のみを指定して、正常レコードの出力を受けるコンポーネントが無い場合、デザイナーでは正しく実行されますが、この状態でサーバのカタログ上に実装すると、当該エラーメッセージが出ます。

    正常レコードのストリームは、必要なくてもどこかに出力するようにしてから実装するとうまくいくようです。

    • 編集済み y-ohara 2015年10月6日 10:42
    • 回答の候補に設定 星 睦美 2015年10月8日 6:04
    • 回答としてマーク 星 睦美 2015年10月14日 4:08
    2015年10月6日 10:08