- ベストアンサー
SSISの優先順位制約の設定がうまくいかない
- SSISの優先順位制約の設定がうまくいかず、エラーメッセージが表示されます。
- 原因はSQL実行タスクコンテナの設定や優先順位制約エディタの設定に問題がある可能性があります。
- 優先順位制約についての文献は少ないため、詳しい情報が不足しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SQL 実行タスクの「パラメータマッピング」にも何か入れちゃっていませんか?いろいろ試したけど、そのメッセージが出るのは、パラメータマッピングが正しくなかったときだけです。 今回のは「パラメータマッピング」はいらないですよね。 なお、変数の削除は、さっきも書いた「SSISメニュー→変数」からできますよ。
その他の回答 (1)
- jamshid6
- ベストアンサー率88% (591/669)
・結果セットの結果名は@cnt=>cntとしてください。 (この結果名は返されるクエリのフィールド名と思ってください) ・「SSIS」メニュー→変数を選択し、変数の名前が「変数」になっているのをcntに変更してください。それを結果セットの変数に割り当て直してください。 ・結果セットの型はInt32で構いません。 式は大文字小文字も正確に。ちなみにイコールのときは「@cnt==0」となります(中身はJScriptなんですかね)
補足
jamshid6様 早速のご回答ありがとうございます。 ありがとうございます! パッケージ自体は動作するようになりました!が、 今度は以下のエラーが、、 ---------------------------- [SQL 実行タスク] エラー : クエリ "select count(*) as cnt from TABLE where aaa = '0' " の実行が次のエラーで失敗しました: "パラメータ名は認識されていません。"。 考えられるエラーの理由: クエリに問題がある、"ResultSet" プロパティが正しく設定されていない、パラメータが正しく設定されていない、または接続が正しく確立されていない。 ---------------------------- ちなみに、変数の設定は以下のとおりです。 ▼結果セットタブ ・結果名:cnt ・変数名: ・コンテナ:パッケージ全体を選択 ・名前:cnt ・名前空間:User ・値の型:Int32 ・値:0 値の設定がマズイのでしょうか・・? あと、自分で作成した変数の編集や削除というのは出来ないのでしょうか・・・? (この問題と直接関係の無い質問でスミマセン)
お礼
恥ずかしながら、おっしゃるとおり、 「パラメータマッピング」に入れてしまっておりました。。 削除すると、無事動作しました! >なお、変数の削除は、さっきも書いた「SSISメニュー→変数」からできますよ。 また、こちらもありがとうございます!!とても助かります。
補足
jamshid6さま 恐れ入ります、もう1点だけ質問させてください。 ファイルの存在有無では、優先順位制約の設定は出来ないのでしょうか? 例えば、ファイルが存在しなければ処理を実施しない等。。 (やはり、スクリプト タスク でないと出来ないでしょうか?) 状況により、また別スレを立てさせていただきます。