2011-03-02 4 views
1

ssis(2005)では、ストアドプロシージャを呼び出すためにexecute SQLタスクを使用しています。ストアドプロシージャは3つのパラメータを取り、3つすべてがssis変数です。パッケージはdevで問題なく実行されますが、ジョブとして実行すると失敗します。ジョブとして実行しているときにSSIS変数に正しい値が含まれていない

ログには次のメッセージが表示されます。クエリの実行「Exec nx_sp_WriteFLHeader?、?、?」次のエラーで失敗しました: "不特定のエラー"。考えられる失敗の理由:クエリ、「ResultSet」プロパティが正しく設定されていない、パラメータが正しく設定されていない、または接続が正しく確立されていないなどの問題。

SQL Serverプロファイラを使用すると、ストアドプロシージャが不正な値(1、null、null)で呼び出され、devで454,404、 "sometext"のようになることがわかります。

ジョブとして実行すると、他のタスクでssis変数が正常に使用されていることがわかります。変数が使用しようとしている時間までに範囲外になっている場合があります。変数を最高レベルで宣言しました。

おかげで解決

:SQL実行タスク、パラメータマッピングセクション、パラメータのデータ型のは数値として定義したのでは。 Longに変更すると、ジョブは正常に実行されます。私が渡しているssis変数はint32として宣言されています。

+0

使用している変数は何ですか、システム変数ですか、ユーザー変数ですか? – Lamak

+0

は、devとprodで同じSPのパラメータタイプですか? –

答えて

0

解決済み:パラメータ実行のSQLタスクでは、パラメータのデータ型の1つが数値として定義されていました。 Longに変更すると、ジョブは正常に実行されます。私が渡しているssis変数はint32として宣言されています。

関連する問題