Простая задача: подключиться к базе данных, выполнить хранимую процедуру, отключиться - PullRequest
2 голосов
/ 14 мая 2011

Мне не обязательно передавать хранимым процедурам какие-либо переменные из моего VBScript, мне просто нужно запустить хранимую процедуру на сервере.Я не смог найти каких-либо четких примеров того, как это сделать - просто многие люди объясняют, как передать переменную из SP обратно в VBScript.

Любая помощь будет очень признательна!Похоже, мне придется открыть соединение, затем отправить команду для выполнения хранимой процедуры, а затем закрыть соединение, но я немного растерялся, как это сделать из VBscript.

Спасибо!

Ответы [ 2 ]

8 голосов
/ 14 мая 2011

Вы можете использовать объект 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
2 голосов
/ 14 мая 2011

Вы можете создать такой метод:

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" )
...