Автор Тема: Постраничный вывод из ldap  (Прочитано 18409 раз)

Яна

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Постраничный вывод из ldap
« : 04 Сентябрь 2013, 12:16:51 »
мне нужно организовать постраничный вывод данных - листание по ldap. Ldap занимаюсь недавно и буду благодарна за все подсказки.

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Постраничный вывод из ldap
« Ответ #1 : 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

Егор

Яна

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Постраничный вывод из ldap
« Ответ #2 : 06 Сентябрь 2013, 09:47:50 »
Спасибо за быстрый ответ. Но тут получается постраничное листание вперед. А как сделать, чтобы можно листать лдап в обратном порядке? Есть такая возможность? Я пишу на питоне под Джангу. Я нашла код на питоне, который работает с листанием вперед, а назад у меня не выходит  найти. Если действительно нет такой возможности - просто точно хотелось бы знать, если можно. Я бы попробовала другой алгоритм.
Яна
P.S. Проект у меня уже работает и как всегда вдруг(( выянилось, что возможны большие объемы информации порядка 10 000 записей. Мне поставлена задача, организовать обращение к лдапу постранично туда и обратно .
« Последнее редактирование: 06 Сентябрь 2013, 09:51:15 от Яна »

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Постраничный вывод из ldap
« Ответ #3 : 06 Сентябрь 2013, 14:03:16 »
Здравствуйте!
Я пишу на питоне под Джангу.
Ну что сказать, ни с тем, ни с другим не сталкивался. Если бы я решал подобную задачу на perl или php, я бы собрал полученный от LDAP-сервера результат в массив либо построчно, либо "постранично" (то есть в один элемент массива то количество строк, которое занимает страницу), и осуществлял бы вывод уже по элементам этого массива, тогда проблема "вперёд-назад" решалась бы просто указанием нужного элемента (диапазона элементов) массива.

Егор

Яна

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