Имя: Пароль:
1C
1С v8
ADODB результат больше 1000 элементов. Как?
0 Lama12
 
29.05.13
11:54
Вытаскиваем из AD через ADODB учетки.
Больше 1000 вытащить не дает.
Как можно обойти?


Попытка                
       conn = ПолучитьCOMОбъект("","ADODB.Connection");
       conn.Provider = "ADSDSOObject";
       conn.Open("Active Directory Provider");
   Исключение
       Предупреждение("Ошибка подключения к Active Directory!");
       Возврат;
   КонецПопытки;
   Попытка                
       query = "SELECT SAMAccountName,userPrincipalName,mail FROM 'LDAP://DC=rtsoft,DC=msk,DC=ru' where objectclass='user' and objectcategory='person'";
       rs = conn.Execute(query);
       
   Исключение
       Сообщить("Ошибка выполнения запроса!!!");                                                                          
       Возврат;
   КонецПопытки;
   А=1;
   Пока НЕ rs.EOF() Цикл
           Попытка
           
               стрEMAIL = НРег(СокрЛП(rs.Fields(0).Value));
           
           Исключение
               
               Сообщить("Не удалось прочитать почту");
           КонецПопытки;
           
           //Если Найти(стрEMAIL,"@") <= 0 Тогда rs.MoveNext(); Продолжить; КонецЕсли;
           Попытка
           
               адрес = СокрЛП(rs.Fields(2).Value);
           
           Исключение
               Сообщить("Не удалось получить адрес");
           КонецПопытки;
           Сообщить("1 - " + "RTSOFT\" + адрес + " - " + стрEMAIL);
           Попытка
           
               rs.MoveNext();
               А=А+1;
           Исключение
               Сообщить("Не удалось сдвинуть счетчик");
               Сообщить(ОписаниеОшибки());
               Сообщить(А);
               прервать;
           КонецПопытки;
           
   КонецЦикла;
1 ParinovS
 
29.05.13
12:01
http://www.osp.ru/win2000/2004/05/177043/ почитай, надеюсь поможет.
2 Lama12
 
29.05.13
12:31
(1) Проблема понятна.
Теперь вопрос.
Почему такой запрос не работает?

SELECT TOP (1) SAMAccountName,userPrincipalName,mail FROM 'LDAP://DC=rtsoft,DC=msk,DC=ru' where objectclass='user' and objectcategory='person'
3 shuhard
 
29.05.13
12:37
(2) а с чего ты взял, что диалект сиквела в AD поддерживает TOP (1) ?
4 Lama12
 
29.05.13
12:38
(3) :) Ну я надеялся...
Стандартизация и все такое.
Ладно, если TOP  не работает, то сделаем по другому.