|
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
|
почитай, надеюсь поможет.
|
|
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 не работает, то сделаем по другому.
|
|