【问题标题】:Simple task: Connect to database, execute a stored procedure, disconnect简单任务:连接数据库、执行存储过程、断开连接
【发布时间】:2011-08-25 06:27:57
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 嗨,一个友好的提示,说“M$”实际上会让许多可以回答你的问题的人转身离去。尽管您对 Microsoft 的意见没有保留,但公开发表它们可能不会给您带来 Stack Overflow 的真正好处。

标签: sql sql-server vbscript procedure


【解决方案1】:

您可以使用 VbScript 中的 ADODB.Connection 对象

检查此示例

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】:

你可以像这样创建一个方法:

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

【讨论】:

  • 托马斯,谢谢您的回复。我也不确定如何设置connectionString,你能指出我正确的方向吗?再次感谢!
  • @Joshua - 试试 www.connectionstrings.com。
猜你喜欢
  • 2012-04-25
  • 2018-02-07
  • 2019-04-15
  • 1970-01-01
  • 2010-11-16
  • 2023-04-11
  • 2014-07-18
  • 2021-03-15
  • 2018-09-01
相关资源
最近更新 更多