DOBON.NET DOBON.NETプログラミング掲示板過去ログ

sql

分類:[.NET]

こんにちは。
VB初心者のミニーです。

下記のプログラムを使用してVBからSQLサーバのプロシージャを実行しています。
プロシージャは問題なく動きます。
今私がやりたいことはVBからSQLサーバのパッケージを実行することです。
このプログラムを修正してパッケージは動かすことは可能でしょうか?
ストアド起動部分でCommandText とCommandType でプロシージャを呼んでいると思いますが、パッケージを呼ぶにはどんな関数を使用したらよいのでしょうか?
どなたか教えていただけませんか。
説明の仕方が良く分からなかったのでやりたいことが伝わらないかも知れませんが、
何か質問がありましたらすぐに書き込みますのでよろしくお願いします。


'SQLサーバ接続情報
'プロバイダー=sqloledb,ユーザ=ABC,
'データソース(サーバ名)=server2,イニシャルカタログ(DB名)=ABC

strconstr = "Provider=sqloledb;" & _
"User ID=ABC;" & _
"Password=ABC;" & _
"Data Source=server2;" & _
"initial catalog=ABC;"

'SQLサーバ接続(OPEN)
myConn.Open strconstr

' ストアド起動
Set myComm = New ADODB.Command
myComm.CommandText = "member"
myComm.CommandType = adCmdStoredProc
最初の書き込みでタイトルを書いている途中でENTERボタンを押してしまい書き込まれてしまいました・・・。

■No1037に返信(ミニーさんの記事)
> こんにちは。
> VB初心者のミニーです。
>
> 下記のプログラムを使用してVBからSQLサーバのプロシージャを実行しています。
> プロシージャは問題なく動きます。
> 今私がやりたいことはVBからSQLサーバのパッケージを実行することです。
> このプログラムを修正してパッケージは動かすことは可能でしょうか?
> ストアド起動部分でCommandText とCommandType でプロシージャを呼んでいると思いますが、パッケージを呼ぶにはどんな関数を使用したらよいのでしょうか?
> どなたか教えていただけませんか。
> 説明の仕方が良く分からなかったのでやりたいことが伝わらないかも知れませんが、
> 何か質問がありましたらすぐに書き込みますのでよろしくお願いします。
>
>
> 'SQLサーバ接続情報
> 'プロバイダー=sqloledb,ユーザ=ABC,
> 'データソース(サーバ名)=server2,イニシャルカタログ(DB名)=ABC
>
> strconstr = "Provider=sqloledb;" & _
> "User ID=ABC;" & _
> "Password=ABC;" & _
> "Data Source=server2;" & _
> "initial catalog=ABC;"
>
> 'SQLサーバ接続(OPEN)
> myConn.Open strconstr
>
> ' ストアド起動
> Set myComm = New ADODB.Command
> myComm.CommandText = "member"
> myComm.CommandType = adCmdStoredProc
>
>

質問です。SQL ServerのBooksオンラインでパッケージを探すと
「DTSパッケージ」が出てきますが、ミニーさんは、「DTSパッケージ」
を使いたいのですか?
おはようございます。

fukuさん
私が作成したのは「DTSパッケージ」です。
パッケージ名を"member"とします。
このSQLServerで作成したDTSパッケージ"member"をどうにかしてVBから呼び出して実行したいのです。
VBの画面はありません。標準モジュールのみです。
SQLSeverのDBに接続してパッケージを実行するやり方わかりますか?
接続は、
*************************************************************************
'SQLサーバ接続情報
'プロバイダー=sqloledb,ユーザ=ABC,
'データソース(サーバ名)=server2,イニシャルカタログ(DB名)=ABC

strconstr = "Provider=sqloledb;" & _
"User ID=ABC;" & _
"Password=ABC;" & _
"Data Source=server2;" & _
"initial catalog=ABC;"

'SQLサーバ接続(OPEN)
myConn.Open strconstr
*************************************************************************
でできていると思いますが・・・。
> 私が作成したのは「DTSパッケージ」です。
> パッケージ名を"member"とします。
> このSQLServerで作成したDTSパッケージ"member"をどうにかしてVBから呼び出して実行したいのです。

自分もやったことがないのでよく分からないのですが、
参考になりそうなページを見つけました。
http://www.sqldts.com/default.aspx?208,1
http://www.databasejournal.com/features/mssql/article.php/1466921
fukuさん

回答ありがとうございます。
このサイトに載っているものを見ながら挑戦してみます。
解決したらまたご報告します。
fukuさん
いただいたサンプルページで解決しました。
どうもありがとうございました。
内容は下記の通りです。

パッケージをVBで呼び出し、実行するときは
参照設定に「Microsoft DTSPackage Object Library」を設定する。

Sub main()

Dim oPack As New DTS.package

oPack.LoadFromSQLServer "サーバ名", "ID", "パスワード", , , , , "パッケージ名"
oPack.Execute
Set oPack = Nothing

End Sub
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板