2

我不一定需要从我的 VBScript 传递存储过程的任何变量,我只需要在服务器上运行存储过程。我还没有找到任何明确的例子来说明如何做到这一点——只有很多人在解释如何将变量从 SP 传递回 VBScript。

任何帮助将不胜感激!看起来我必须打开一个连接,然后发送命令以执行存储过程,然后关闭连接,但我对如何从 VBscript 执行此操作有点迷茫。

谢谢!

4

2 回答 2

8

您可以使用ADODB.ConnectionVbScript 中的对象

检查这个样本

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
于 2011-05-13T21:35:28.880 回答
2

您可以创建这样的方法:

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" )
于 2011-05-13T21:25:30.637 回答