ADODB LDAP-запрос не может выполнить ту же команду после первого успешного вызова

У меня есть метод, который делает запрос LDAP с использованием интерфейсов ADODB. При первом вызове execute в командном интерфейсе это работает, но любые последовательные вызовы не будут выполнены. Я пропустил некоторые процедуры очистки? При использовании vb эта проблема не возникает.

Пример минималистичного кода, где можно воспроизвести ошибку, приведен ниже. На самом деле я открываю и закрываю соединение ADODB для каждого запроса на выполнение.

CComPtr<ADODB::_Connection> spAdoDbConnection;
spAdoDbConnection.CoCreateInstance(__uuidof(ADODB::Connection))
spAdoDbConnection->raw_Open(CComBSTR("Provider='ADSDSOObject'; Integrated Security='SSPI';")
CComPtr<ADODB::_Command> spAdoDbCommand;
spAdoDbCommand.CoCreateInstance(__uuidof(ADODB::Command));
spAdoDbCommand->put_ActiveConnection(CComVariant(spAdoDbConnection));
spAdoDbCommand->put_CommandText(CComBSTR(strQuery)); //don't think that the query matters here
CComPtr<ADODB::_Recordset> spResultsGroups;

//first try returns with success and I can iterate through the results
spAdoDbCommand->raw_Execute(&vtMissing, &vtMissing, ADODB::adOptionUnspecified, &spResultsGroups);
spResultsGroups->raw_Close();
spResultsGroups.Release();

//second try (or more, on same or different thread) returns with error E_NOINTERFACE (0x80004002L)
spAdoDbCommand->raw_Execute(&vtMissing, &vtMissing, ADODB::adOptionUnspecified, &spResultsGroups);

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector