質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Q&A

解決済

1回答

186閲覧

SQL Server Integration Service内の 処理内で、処理中止の条件分岐を達成したい

saya24

総合スコア258

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

0グッド

0クリップ

投稿2025/04/21 10:19

編集2025/04/21 10:22

実現したいこと

他システムへのデータ連携の流れをSQL Server Integration Serviceの機能を開発し 既に運用中です。
祝祭日の場合は この処理内部の本質部分は行わず、当該処理自体は「正常終了」となるようにしたいです。

発生している問題・分からないこと

SQL Server Integration Service の中では ストアドプロシージャを実行できるので、この実行時の当日が祝祭日だった場合 あえてそのプロシージャ内で 0除算を起こすようにして 失敗分岐を起こすようにしてみました。

SQL Server Integration Service の本質処理には進まずに、当該処理を終えるようにすることはできたのですが、当該処理自体が 失敗として終了しているのが現況です(エラーコード??)

これをどうにかしたいです!! 正常で当該処理をおえるようにしたいです。
イメージ説明
エラーハンドルの定義の方法を自分は把握しておりません
イメージ説明

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

解決に繋がる有用な情報はみあたりませんでした。

SQL Server Integration Service の話題となると、解決策の模索に毎回苦労してきているので、正直今回もダメかなぁという不安がよぎっています、がダメモトで掲載させて頂きました。

当該タスク(ストアドプロシージャ実行)部分で OnErrorの挙動を定義できればいいんですが、現在の自分は そのノウハウもありません

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

SSISは使った事ありませんので外しているかもしれません。

あえてそのプロシージャ内で 0除算を起こすようにして

例外が発生してフローが中断しているのではないでしょうか?
プロシージャの戻り値をFalseで返却するようにすれば良いのではないかと思います。

投稿2025/04/22 01:41

sazi

総合スコア25430

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

saya24

2025/04/22 02:49

saziさん、いつも大変お世話になっております。 現在方針を改めてまだ苦戦中ですが、SSISの中で条件分岐が難しくて 苦肉の策で タスクの一つを故意に失敗させて、成功と失敗の分岐を達成した、故意に処理を中断させることを達成できた だけれど、 ジョブから このSSISを実行しており、このSSISがタスクとして失敗すると 異常検知のメールが通知される仕組みが 既に整っている!!! 条件次第で、故意に終了させているので 異常検知はしたくない、メールの報告はいらない=SSIS自体を正常終了とさせたい、 というのが今回の問合せ主旨でした。 土日以外に社外システムへのデータ連携目的で 一連の処理がすでに運用中ですが 祝祭日は動作させたくない、ということで、一連処理内部に 祝祭日だったら、処理中断・正常終了となるような 手立てを模索中です・。 今朝一番から、0除算で 強引に処理内タスクに異常を発生させる手立ては やはり 得策じゃないなぁ と思いはじめ、SSISの 本質的な条件分岐方法を 再度さぐっています。 SSISとなると、海外しか 有用な記事が得られないのが つらい.... (話題のストアドは 祝祭日の判断結果を出力パラメータ TRUE/FALSEDE で返すようすでに改修済、これをSSIS側で うまく実行できない問題に直面中!!!)
sazi

2025/04/22 03:41

構造の変更が大変という事なら、発生させた例外をexceptionでキャッチしてFalse返却というのが一番手が掛からないと思います。
saya24

2025/04/22 04:49

ご見解ありがとうございます。いましたが無事解決することができました、。 SSIS を社内で使うことが多いので、今後のことも考え、正規な手立てでの条件分岐にこだわって対応することとしました。 出力パラメータ付きのストアドプロシージャを SSIS内で起動して、その戻り値をSSIS内で把握するための手立てを 朝から模索していたのですが やはり海外に それらしい記事をみつけて なんとか目標を達成することができました。(本当にあきらめないでよかった) こちら参考までに<https://www.youtube.com/watch?v=MAQgFu8TuCk>
sazi

2025/04/22 05:19

解決おめでとうございます! ネックだったのは、戻り値による分岐方法という事だったのですね。 てっきり、分岐の設定は出来ていて、正しく分岐されない事かと思っていました。 尚、ユーザー定義例外による処理は、Early exitという観点からは有用です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問