- PR -

SSISでパッケージデザインからの実行とVB.netからの実行で結果が変わる

1
投稿者投稿内容
未記入
会議室デビュー日: 2008/05/30
投稿数: 4
投稿日時: 2008-05-30 13:17
テキストファイルからSQLServer2005のテーブルにデータを取り込むパッケージを作成しています。
異常行があったらファイル出力を行いたいということで、
http://blogs.timberlandchapel.com/blogs/timberlandchapel/articles/889.aspx
を参考に、エラーイベントを利用して異常データを分離するようにしました。

これをパッケージのデザイン画面から実行すると、ログファイルには以下のメッセージ

-1071636319,0x,データ変換に失敗しました。列 "xxx" のデータ変換から、状態値 4 と状態を示すテキスト "テキストが切り捨てられたか、または対象になるコード ページで 1 つ以上の文字が一致しませんでした。" が返されました。
-1071607766,0x,"出力列 xxx(12436)" が切り捨ての発生により失敗しました。"出力列 "xxx" (12436)" の切り捨て行の処理により、切り捨てによる失敗が示されます。ここに示されたコンポーネントのオブジェクトで切り捨てエラーが発生しました。
-1071636334,0x,データ行 341139580054929410 で、ファイル "C:\hoge\hoge.txt" の処理中にエラーが発生しました。

が出力され、エラー行がファイルに出力されます。

しかし、VBから以下のように実行すると

Dim app As New Application
Dim pkg As New Package
Dim pkgResult As DTSExecResult
pkg = app.LoadPackage(PackageName, Nothing)
pkgResult = pkg.Execute()

ログファイルには以下のメッセージ

-1071607787,0x,必要なバッファが使用できません。
-1071607611,0x,出力 "フラット ファイル ソースの出力" (158) はコンポーネントにアタッチされていません。コンポーネントをアタッチする必要があります。

が出力され、0kbのエラー行出力ファイルが作られます。

デザイン画面からの実行とビルド済パッケージの実行では、結果が変わるものなのでしょうか?
権限を疑ったのですが、ログファイルのOperatorには同じユーザ名が出力されています。

原因の検討がつかず、大変困った状態です。
どなたかご存じであれば、アドバイスをお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)