问题
I don't necessarily need to pass the stored procedures any variables from my VBScript, I just need to run the stored procedure on the server. I haven't been able to find any clear examples of how to do this—just a lot of people explaining how to pass a variable from a SP back to a VBScript.
Any help would be so appreciated! It looks like I'll have to open a connection, then send the command to execute the stored procedure, then close the connection, but I'm a bit lost about how to do this from a VBscript.
Thanks!
回答1:
you can use the ADODB.Connection object from VbScript
check this sample
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:
You can create a method like this:
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
Note: This routine assumes that the SQL statement was built by the calling routine and properly escaped. In addition, connectionString
is a constant that you store somewhere with the connection string to the db.
Example call:
Call ExecuteSql( "exec MyProc" )
来源:https://stackoverflow.com/questions/5997896/simple-task-connect-to-database-execute-a-stored-procedure-disconnect