亲爱的专家,
我想从VBS / VBA的调用存储过程使用ADO,虽然建立一个连接,查询总是失败。
详情如下:
错误消息
"语法,奥德拒绝访问"的VBS
"操作是不允许的对象时关闭"在VBA
(在监视窗口中可以看到)
代码例子
VBA中...
Dim cn As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As New ADODB.Recordset
Dim strRS As String ' holds complete SQL-String
sPro = "Provider=SQLOLEDB.1;"
sUID = "UID=nnnn;"
sPW = "PWD=xxxx;"
sDsn = "Initial Catalog=dbTest;"
sSer = "Data Source=TestMachine"
' Connection-String
sCon = sPro + sUID + sPW + sDsn + sSer
Set cn = New ADODB.Connection
cn.Open sCon ' Open Connection
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cn
If rs.State = adStateOpen Then rs.Close
' SQL-String
strRS = "EXEC [dbo].[test_SP] " + "'" + param1 + "', '" + param2 + "', '" + param3 + "'"
cmd.CommandText = strRS
Set rs = cmd.Execute
If rs.State = 1 Then
If Not rs.EOF = True Then
''' rs.MoveFirst
While Not rs.EOF = True
cCol.Add Trim(rs.Fields(0))
rs.MoveNext
Wend
End If
End If
的SQL ... {C1的}当我改变我的SQL字符串"SELECT * FROM"VBS或VBA内eigther它工作得很好,但我需要使用存储过程。
存储过程也可以在查询分析器的SQL Server 2000(SP3)的罚款。
它是什么,我没有看到 - 你能请求帮助
thanls在