DTSを構造化ストレージファイルにエクスポート


SQL Server 登録されている DTSパッケージを構造化ストレージ ファイルして保存することができる


VBSを使用してDTSファイルに保存するのは以下のとおり

Const DTSSQLStgFlag_UseTrustedConnection=256

'DTSの出力先パス★
Const EXP_PATH  ="D:\DTSEXP\"

'SQLサーバに接続するためのユーザID・パスワード★
Const SQLSvr  ="hogesv"
Const SQLUser ="hogeuser"
Const SQLPass ="hogepass"

'SQLServerに接続
Set cn = WScript.CreateObject("ADODB.Connection")
cn.Open "Provider=SQLOLEDB;" _
        & "Data Source="   & SQLSvr  & ";" _
        & "User ID="       & SQLUser & ";" _
        & "Password="      & SQLPass & ";" _ 
        & "Persist Security Info=True;"

'DTSパッケージのリストを取得
Set rs = cn.Execute("msdb..sp_enum_dtspackages")

Do Until rs.EOF

 'DTSパッケージの出力先を指定
 pkgName = EXP_PATH  & rs("name") & ".dts"
 pkgID = rs("id")

 Set obj = WScript.CreateObject("DTS.Package")

 obj.LoadFromSQLServer SQLSvr, SQLUser, SQLPass , _
			 DTSSQLStgFlag_UseTrustedConnection, _
			 "", pkgID

 'DTSパッケージを名前を付けて保存
 obj.SaveToStorageFile pkgName
 Set obj = Nothing
 rs.MoveNext
Loop

Set rs = Nothing
Set cn = Nothing


Msgbox "出力が完了しました"


動作確認環境:SQL Server 2000 Enterprise,Windows 2000 Server