必ずしも VBScript からストアド プロシージャに変数を渡す必要はありません。サーバー上でストアド プロシージャを実行するだけで済みます。これを行う方法の明確な例を見つけることができませんでした。多くの人が変数を SP から VBScript に戻す方法を説明しているだけです。
どんな助けでも大歓迎です!接続を開き、コマンドを送信してストアド プロシージャを実行し、接続を閉じる必要があるように見えますが、VBscript からこれを行う方法について少し迷っています。
ありがとう!
必ずしも VBScript からストアド プロシージャに変数を渡す必要はありません。サーバー上でストアド プロシージャを実行するだけで済みます。これを行う方法の明確な例を見つけることができませんでした。多くの人が変数を SP から VBScript に戻す方法を説明しているだけです。
どんな助けでも大歓迎です!接続を開き、コマンドを送信してストアド プロシージャを実行し、接続を閉じる必要があるように見えますが、VBscript からこれを行う方法について少し迷っています。
ありがとう!
ADODB.Connection
VbScriptのオブジェクトを使用できます
このサンプルを確認してください
Dim sServer, sConn, oConn, sDatabaseName, sUser, sPassword
sDatabaseName="test"
sServer="localhost"
sUser="sa"
sPassword="yourpassword"
sConn="provider=sqloledb;data source=" & sServer & ";initial catalog=" & sDatabaseName
Set oConn = CreateObject("ADODB.Connection")
oConn.Open sConn, sUser, sPassword
oConn.Execute "exec sp_help"
WScript.Echo "executed"
oConn.Close
Set oConn = Nothing
次のようなメソッドを作成できます。
Public Sub ExecuteSql( sqlString )
Dim oConn
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open connectionString
oConn.Execute( CStr(sqlString) )
oConn.Close
Set oConn = Nothing
End Sub
注: このルーチンは、SQL ステートメントが呼び出しルーチンによって作成され、適切にエスケープされていることを前提としています。さらにconnectionString
、データベースへの接続文字列とともにどこかに保存する定数です。
呼び出しの例:
Call ExecuteSql( "exec MyProc" )