- PR -

VBScript で SSIS を起動することは可能か。

1
投稿者投稿内容
ttaakkaa
会議室デビュー日: 2006/07/18
投稿数: 2
投稿日時: 2007-10-05 20:00
SQL2000ServerのデータベースをVBScriptからDTSを起動している処理を
SQLServer2005の環境でも同様に実現する事になりました。

調査をいろいろ行いましたが、VBScript で SSIS を起動できる方法が
わかりません。

そもそも、VBScriptでSSISパッケージを起動する事が可能なのでしょうか。
*もし可能であれば、サンプルソースをいただけると、非常に助かります。

[ メッセージ編集済み 編集者: ttaakkaa 編集日時 2007-10-05 20:07 ]
みなやん
会議室デビュー日: 2004/03/30
投稿数: 11
お住まい・勤務地: 東京都中野区
投稿日時: 2007-10-06 20:37
はじめまして。

私もDTSやSSISでの開発はしていますが、
VBScriptからは使ったことはないです。

ご質問の件ですが、マイクロソフトに情報がありました。
http://msdn2.microsoft.com/ja-jp/library/ms403344.aspx

このページの最後のほうに、
「Integration Services アプリケーション プログラミング インターフェイスは、VBScript などの COM ベースのスクリプト言語と互換性がありません。」
との記述がありました。

どうやら、DTSの時のようなCOMコンポーネントの提供はないようです。
.Net Framework上のみで動くようです。
みなやん
会議室デビュー日: 2004/03/30
投稿数: 11
お住まい・勤務地: 東京都中野区
投稿日時: 2007-10-07 18:36
説明不足だったかもしれませんので、
補足させてください。

SQL Server 2005のSSISでは、COMコンポーネントはなくなりましたが、
コマンドラインツールは存在します。
SSISの起動:DTEXEC
DTSの起動:DTSRUN

DTEXECの詳細については、以下のURLを参照ください。
http://msdn2.microsoft.com/ja-jp/library/ms143706.aspx
ただ、DTEXECはコマンドラインオプションがDTSに比べて増えています。
オプション指定がわかりにくいようでしたら、DTExecUIで確認できます。

SSISをVBScriptで起動する方法ですが
Runメソッドで起動し、戻り値を判定します。

例)
Dim WshShell,Return
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("DTEXEC " & "コマンドラインオプション", 1, true)

'戻り値Returnの判定を記述

Set WshShell = Nothing

※DTEXECは、フルパス指定をしないとエラーとなるかもしれません。

Runメソッドの詳細については、以下のURLを参照ください。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsmthrun.asp
ttaakkaa
会議室デビュー日: 2006/07/18
投稿数: 2
投稿日時: 2007-10-09 17:04
丁寧な回答ありがとうございます。
リンク先の内容を確認し、実施してみます。

*業務スケジュール上、最終確認が取れるのが、11月ごろになると思います。
ご了承ください。
1

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