Отключение набора записей завершается неудачно, если для activeconnection ничего не задано

Я использую VBA в Excel 2010 на Windows 7 (ADO 6.1). Я пытаюсь выполнить код ниже, чтобы получить отключенный набор записей из хранимой процедуры 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

0 ответов

Другие вопросы по тегам