Форум проекта Pro-LDAP.ru

Общие вопросы по LDAP => Общий раздел => Тема начата: Яна от 04 Сентябрь 2013, 12:16:51

Название: Постраничный вывод из ldap
Отправлено: Яна от 04 Сентябрь 2013, 12:16:51
мне нужно организовать постраничный вывод данных - листание по ldap. Ldap занимаюсь недавно и буду благодарна за все подсказки.
Название: Re: Постраничный вывод из ldap
Отправлено: egor от 05 Сентябрь 2013, 02:26:46
Здравствуйте!
Если Вы используете ldapsearch, то можно воспользоваться встроенным "постраничным" выводом, только он будет не совсем постраничный, а по количеству записей. Например, чтобы выводить на экран по 3 записи можно сделать так:
ldapsearch -x -LLL  -b 'dc=mycompany,dc=ru' -E pr=3

Если записи с большим количеством атрибутов, то они могут не вмещаться в "страницу" (то есть в экран). На мой вкус, удобнее воспользоваться каким-нибудь сторонним пейджером (разумеется, если Вы в *nix-системе):
ldapsearch -x -LLL  -b 'dc=mycompany,dc=ru' | less

Егор
Название: Re: Постраничный вывод из ldap
Отправлено: Яна от 06 Сентябрь 2013, 09:47:50
Спасибо за быстрый ответ. Но тут получается постраничное листание вперед. А как сделать, чтобы можно листать лдап в обратном порядке? Есть такая возможность? Я пишу на питоне под Джангу. Я нашла код на питоне, который работает с листанием вперед, а назад у меня не выходит  найти. Если действительно нет такой возможности - просто точно хотелось бы знать, если можно. Я бы попробовала другой алгоритм.
Яна
P.S. Проект у меня уже работает и как всегда вдруг(( выянилось, что возможны большие объемы информации порядка 10 000 записей. Мне поставлена задача, организовать обращение к лдапу постранично туда и обратно .
Название: Re: Постраничный вывод из ldap
Отправлено: egor от 06 Сентябрь 2013, 14:03:16
Здравствуйте!
Я пишу на питоне под Джангу.
Ну что сказать, ни с тем, ни с другим не сталкивался. Если бы я решал подобную задачу на perl или php, я бы собрал полученный от LDAP-сервера результат в массив либо построчно, либо "постранично" (то есть в один элемент массива то количество строк, которое занимает страницу), и осуществлял бы вывод уже по элементам этого массива, тогда проблема "вперёд-назад" решалась бы просто указанием нужного элемента (диапазона элементов) массива.

Егор
Название: Re: Постраничный вывод из ldap
Отправлено: Яна от 06 Сентябрь 2013, 15:27:56
Спасибо за ответ. У меня так и было сделано - все в один массив и потом в DataTables. Проблема в том, что каждая строка занимает прилично памяти.
Но теперь благодаря Вам я знаю , что точно нет возможности это сделать с помощью лдап возможностей. Есть пара алгоритмов, теперь придется вплотную заняться этим. Еще раз благодарю за ответ.
Яна