返回首页

亲爱的专家,
我想从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在

回答

评论会员: 时间:2
P