none
SSISパッケージをVB2005 or Access2000 で実行指示する方法は? RRS feed

  • 質問

  • こんにちは。densan321と申します。
    このたび、受注データをCSV・EXCELにて受け取ることになり、それと同時に別件でSQLServer2005を導入することになりました。
    幸いといっては何ですが、
    SQLServer2005側に機能としてデータ変換できるIntegrationService(SSIS)というものがついていましたので、この機能を利用してCSV・EXCELのデータを一旦SQLServerに変換して、メインフレームへアップロードするように考えていますが、
    1点どうしてもわからないところがありまして、知恵をお借りできればと思っています。

    現在テストでSSISを利用して
    CSV・EXCELからの取込、メインフレームへのアップロードはツールの「SQLserver Business Intelligence Development Studio」を利用して接続できる確認は出来たのですが、作成したパッケージをクライアントから
    どうやって実行指示をするのかがわかりません。
    手元にあるアプリとしてOfficeのExcel・AccessとVB2005がありますがあまり詳しくない為、手に余る状態です。

    いろいろと検索した結果、SQLserver2000までのDTSでは情報がありましたが2005からはあまり無く困っています。

    構成は以下の通りになります。

    サーバー
    windows2003server SP1
    SQLserver2005 SP1
    クライアント
    windowsXP SP2
    windowsVISTA

    この構成でテストを行っております。

    何かサンプルなどありましたら教えていただきたいと思います。

    また、SQLのストアドにSSISパッケージの実行を記述することは出来るのでしょうか?

     どんなことでもかまいませんのでよろしくお願いいたします。

    2008年8月21日 4:22

回答

  • こんにちは、naginoです。

     

    SSIS のパッケージを実行する方法は、色々あります。

    以下の URL にまとまっていますので、要件に合致する方法を選んでいただければと思います。

    http://msdn.microsoft.com/ja-jp/library/ms141708(SQL.90).aspx

     

    # ジョブやユーティリティをうまく活用すると良さそうです。

     

    ご参考になれば幸いです。

     

    2008年8月21日 7:30
  • SSISパッケージをジョブとして登録して、

    クライアントアプリケーションからのジョブの起動は

    T-SQL の sp_start_job システムストアドプロシージャ で行う方法がスマートなんじゃないかと思います。 

    http://msdn.microsoft.com/ja-jp/library/ms186757.aspx

     

    2008年8月29日 13:00
  • こんにちは、naginoです。

     

    クライアントから SQL Server に ODBC などで接続してプロシージャ経由で起動する方法ですとか、

    クライアントから WebService 経由で SQL Server に接続して起動する方法が一般的でしょうか。

     

    いずれにせよ御社の要件次第ではありますので、一度ご検討ください。

     

    ご参考になれば幸いです。

    2008年9月3日 8:57

すべての返信

  • こんにちは、naginoです。

     

    SSIS のパッケージを実行する方法は、色々あります。

    以下の URL にまとまっていますので、要件に合致する方法を選んでいただければと思います。

    http://msdn.microsoft.com/ja-jp/library/ms141708(SQL.90).aspx

     

    # ジョブやユーティリティをうまく活用すると良さそうです。

     

    ご参考になれば幸いです。

     

    2008年8月21日 7:30
  • おはようございます。

    参考URLありがとうございました。

    ジョブを作成しての実行で使えるかもしれないので試してみたいと思います。

    実行するユーザーはエンドユーザーとなる為、クライアントにはSqlserverなどインストールしない環境になります。
    出来ることならAccessやVBアプリのフォームにボタンを作成して、クリックだけで実行できるようにしたいのですが
    具体的にはどのようにすれば出来るのか模索中です。

    実例などありましたら教えていただきたいです。

    よろしくお願いいたします。

    2008年8月22日 1:02
  • SSISパッケージをジョブとして登録して、

    クライアントアプリケーションからのジョブの起動は

    T-SQL の sp_start_job システムストアドプロシージャ で行う方法がスマートなんじゃないかと思います。 

    http://msdn.microsoft.com/ja-jp/library/ms186757.aspx

     

    2008年8月29日 13:00
  • こんにちは、naginoです。

     

    クライアントから SQL Server に ODBC などで接続してプロシージャ経由で起動する方法ですとか、

    クライアントから WebService 経由で SQL Server に接続して起動する方法が一般的でしょうか。

     

    いずれにせよ御社の要件次第ではありますので、一度ご検討ください。

     

    ご参考になれば幸いです。

    2008年9月3日 8:57
  • 返信遅くなりました。

    いろいろと試してみた結果、なんとかクライアントより起動することが出来ました。
    ありがとうございました。

    手順は、SSISでパッケージを作成後にジョブに登録して、それをストアド登録してVB2005で実行ファイルを作成し
    クリックワンスでインストールさせるということです。

    回りくどいやり方ですが、それしか思いつきませんでした。

    他によい方法があれば、引き続きご指導いただきたいと思います。

    1点未解決がありまして、使用するDBが2種類有りSQLserver2005とIBMのi5用DB2になりますが、
    DB2を接続設定でSSISで使用すると、ジョブが正常に動かない問題が発生しています。
    この件に関しては、別スレッドで立ち上げようと思っています。

    皆さんいろいろありがとうございました。

    2008年9月8日 23:22
  • こんにちは。中川俊輔 です。

     

    naginoさん、nagasakitさん、回答ありがとうございます。

     

    denden321さん、フォーラムのご利用ありがとうございます。

    有用な情報と思われたため、勝手ながら

    naginoさん、nagasakitさんの回答へ回答済みチェックをつけさせていただきました。

     

    回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
    有用な情報と思われる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。

    denden321さんはチェックを解除することもできますので、ご確認ください。

     

    それでは!

    2008年9月22日 6:51