1

我在 Windows 7 (ADO 6.1) 上的 Excel 2010 中使用 VBA。我正在尝试执行下面的代码以从 SQL 存储过程中获取断开连接的记录集。没有参数,如果我尝试将其作为连接的记录集(服务器端光标)执行,代码执行得很好。

问题出现在我尝试将 activeconnection 属性设置为空的过程的最后一行。Excel 会弹出一个空白的错误消息框,没有错误消息或错误编号,只有 vbCritical 图标。

有谁知道为什么尝试清除活动连接会发生错误?

Dim SQLConnectionString as String
SQLConnectionString = "Driver={SQL Server};Server=SERVERNAME\INSTANCE;Database=Database;UID=user;PWD=password;"

Dim cn As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.recordset

Set cn = New ADODB.Connection
cn.Open SQLConnectionString
Set cmd = New ADODB.Command
Set rs = New ADODB.recordset

With cmd
    .ActiveConnection = cn
    .CommandText = sp
    .CommandType = adCmdStoredProc
End With

Set rs.ActiveConnection = cn

rs.CursorLocation = adUseClient
rs.LockType = adLockBatchOptimistic
rs.CursorType = adOpenStatic
rs.Open cmd.Execute

Set rs.ActiveConnection = Nothing
4

0 回答 0