Пытаюсь подцепить данные из AD. Выполняю код, который работает в другой базе в обычном приложении (здесь управляемое):
АДОКоннектор = Новый COMОбъект("ADODB.Connection");
АДОКоннектор.ConnectionString = "Provider=ADsDSOObject;User ID=___@______;Password=_______;";
АДОКоннектор.Open();
ТекстЗапроса = "
|SELECT AdsPath
//|SELECT displayName
|FROM 'LDAP://corp.ncsp.com'
|WHERE
| sn = 'Иванов Иван'
|ORDER BY sn
|";
ВыборкаАДО = АДОКоннектор.Execute(ТекстЗапроса);
Если ВыборкаАДО.EOF() Тогда
ПутьОбъекта = ВыборкаАДО.Fields("AdsPath").Value;
ОбъектАД = ПолучитьCOMОбъект(ПутьОбъекта);
Сообщить(ОбъектАД.mail);
КонецЕсли;
Возникает ошибка:
Ошибка при получении значения атрибута контекста (Value)
ПутьОбъекта = ВыборкаАДО.Fields("AdsPath").Value;
по причине:
Произошла исключительная ситуация (ADODB.Field): BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции требуется текущая запись.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший