• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Очистка базы

  • Автор темы Idea
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

Idea

Доброго времени суток всем! Что-то на меня нашел ступор. Нужно очистить базу данных - удалить все-все-все документы. Я - менеджер базы. Написала кнопочку:
Код:
Sub Click(Source As Button)

Dim ws As New NotesUIWorkspace
Dim sh As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim piu As String
Dim ppiu As Variant
Dim tmpdoc As NotesDocument
Dim tmpcol As NotesDocumentCollection
Dim selection As String

selection = "@All"

Set db = sh.CurrentDatabase 

Set tmpcol = db.Search(selection, Nothing, 0)

Set tmpdoc = tmpcol.GetFirstDocument
Do Until tmpdoc Is Nothing
Set doc = tmpdoc
Set tmpdoc = tmpcol.GetFirstDocument
doc.Remove(True)
ws.ViewRefresh
Loop

End Sub

Говорит, что коллекция пустая.
 
M

morpheus

Для: Idea
1. @All - не работает в сёрче

Use @All in selection formulas, mail agents, paste agents, scheduled agents, or in any formula requiring a SELECT statement. Lotus Notes/Domino appends SELECT @All to agents in contexts where @All is needed. All views default to a selection formula of SELECT @All

2. Зделайте на кнопе запуск собачного агента. у него в свойстах віберите ВСЕ документы и на собаках удлаить документ )))

3. Зделайте на кнопе запуск собачного агента. у него в свойстах віберите ВСЕ документы ( @All) и через UnprocessedDocuments пройтись повсем документам и удалить их в скриптах
 
S

Sandr

если использовать то, что написали Вы, то нужно немного поправить...

Код:
Set tmpdoc = tmpcol.GetFirstDocument
while not tmpdoc is Nothing
Set doc = tmpdoc
Set tmpdoc = tmpcol.GetNextDocument(tmpdoc)
doc.Remove(True)
Wend


А вообще пишите в агенте такое

@DeleteDocument
SELECT @All


turget агенту указываете все документы в базе...

/MODERARTOR/ А ну ка пользуемся тегами кода, а то по сопатке :)
 
M

morpheus

Для: Constantin A Chervonenko
Злой админский способ :)
 
A

Akupaka

а если реплика не важна, то и вовсе New Copy...

а если хотим LotusScript юзать, то

Set notesDocumentCollection = notesDatabase.AllDocuments
Call notesDocumentCollection.RemoveAll( force )
 
I

Idea

Да, действительно, совсем забыла про Таргеты агентов. На собаках - то, что надо. Всем спасибо, всем по плюсу)
 
I

Idea

Нашелся косячок - кнопка удаляет только те документы, в которые я могу читать, а те, что висели у других пользователей, похоже так и висят. может вся фишка в том, что я не фул админ?
 
S

Sandr

Вы же агент от своего имени запускаете? Запускайте его на сервере...
 
A

Akupaka

Вы же агент от своего имени запускаете? Запускайте его на сервере...
запускать нужно от имени пользователя, что имеет доступ чтение всех документов и на удаление...
не обязательно на сервере... тем более, сервер не обязательно видит все доки...
если Вы именно таким запускаете, то проверьте какие докты отбираются агентом, возможно только выбранные... а не все в БД...
 
I

Idea

запускать нужно от имени пользователя, что имеет доступ чтение всех документов и на удаление...

эм... а это пользователь типа по умолчанию должен прописываться в поля читателей? или достаточно быть менеджером базы?
 
A

Akupaka

эм... а это пользователь типа по умолчанию должен прописываться в поля читателей? или достаточно быть менеджером базы?

учим Авторс, Ридерс поля :(

поля типа Ридерс ограничивают доступ на чтение к документу независимо от уровня доступа в ТУД (АЦЛ), короче говоря, если в док-те есть Ридерс-поле, а в нем не перечислен пользователь, то он не увидит док, даже если будет Менеджером...

всегда нужно создавать роли, и их содержащие поля типа автор, для получения доступа к доку в критической ситуации... имхо ;)

ЗЫ: а вот поля типа Авторс, ограничивают доступ на редактирование лишь до уровня ТУД - Автор, т.е. Редактор (Эдитор) будет иметь доступ на редактирование, если будет перечислен хотя бы в Ридерс-поле...

зы2: надеюсь, что я не ошибся ни в чем :)
 
D

D!m@n

Включите в клиенте Domino Administrator режим Full Access Administrator и запустите своего агента.
Тогда гарантированно удалите все доки.
 
D

D!m@n

Ну хорошо, значит если не получится, зайти на сервере локально с клиента в names.nsf, отредактировать документ Server, потом вернуться на свое рабочее место и включить режим Full Access...
 
S

Sandr

Ну хорошо, значит если не получится, зайти на сервере локально с клиента в names.nsf, отредактировать документ Server, потом вернуться на свое рабочее место и включить режим Full Access...

Далеко не всегда разработчикам дается такая возможность... И чем лучше поставлена безопасность в компании, тем меньше шансов того, что разработчик может достучаться до административной части сервера... :(
 
M

morpheus

<!--QuoteBegin-Sandr+20:12:2007, 22:36 -->
<span class="vbquote">(Sandr @ 20:12:2007, 22:36 )</span><!--QuoteEBegin-->достучаться до административной части сервера
[snapback]90800" rel="nofollow" target="_blank[/snapback]​
[/quote]
и тем собственно лучше всего будет ... изменения под FA делать надо осоторожно...
 
S

Sandr

Создайте реплику или копию базы и не мучайтесь, а старую грохните... дело миннуты...

Ну хорошо, значит если не получится, зайти на сервере локально с клиента в names.nsf, отредактировать документ Server, потом вернуться на свое рабочее место и включить режим Full Access...

Кстати, а я вот не понял, в чем разница между зайти со своей машины и локально, где сервер? Или вы из консоля будет менять names.nsf ?
 
D

D!m@n

Да почему, можно и со своей машины с серверным id-шником...

Хотя на месте автора темы я попробовал бы для начала дать себе помимо менеджерского доступа все роли в базе :( Если она была сдизайнена не криво, то скорее всего фулл-аксесс после этого и не понадобится...
 
I

Idea

Хотя на месте автора темы я попробовал бы для начала дать себе помимо менеджерского доступа все роли в базе ;) Если она была сдизайнена не криво, то скорее всего фулл-аксесс после этого и не понадобится...

Хехе) Всё вы правильно пишете) И роли пробовала, а вот с ридерсами накосячила, умнее буду) База я думаю сдизайнена достаточно криво, ибо опять в авральном порядке ("утром деньги, вечером стулья").
А фулл-аксесс мне действительно не положен (хоть в чем-то по уму сделали) ;)
В общем кое-как удалили всё лишнее, попробуем теперь по уму сделать. Спасибо за советы
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!