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

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

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

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

проблемы с агентом(

  • Автор темы Gor
  • Дата начала
G

Gor

Всем доброго время суток...
Хотел бы задать вот какой вопрос.
Имеется лотусёвая база. В ней находится 8 агентов в основном главной их функцие является обработка и выборка документов. И имеется один вредный очень агент который при запуске его локально отрабатывает задания корректно. А если выложить базу на сервер при запуске этого агента выходит ошибка страшная такая на красном фоне:
Sorry an uncorrectable error has occurred
Lookuphandle:
null hander
и подвисает всё...
Просмотром в дебагере добился того что эта ошибка выскакивает в процессе иницилизации строчку я сейчас укажу в коде на какой именно...
Код:
Sub Initialize
Set s = New NotesSession
Set db = s.CurrentDatabase
Set dv = db.GetView("ExportDataView")--------вот эта тоже вызывает подозрения
Set dCol = dv.AllEntries   ------------------------вот на этой строчке!!!!
Set dEntry = dCol.GetFirstEntry
While Not(dEntry Is Nothing) 
Set doc = dEntry.Document
If doc.Form(0) = "Issue_D" And Not doc.IsResponse And doc.PRRNumber_T(0) <> "" Then
Call SetData( doc )
End If
Set dEntry = dCol.GetNextEntry(dEntry)
Wend

End SubSub Initialize

End Sub

В агенте ещё есть
Declarations:
Код:
Dim s As NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim resCol As NotesDocumentCollection
Dim doc As NotesDocument
Dim res As NotesDocument
Dim dv As NotesView
Dim dCol As NotesViewEntryCollection
Dim dEntry As NotesViewEntry
Dim v As NotesView
Dim vCol As NotesViewEntryCollection
Dim vEntry As NotesViewEntry
Dim isExist As Integer

ну и естественно SetData этот код я уже наверно кидать не буду т.к. практика показывает что до запуска SetData дело не доходит и всё обрывается на инициализации. Кто нибудь ответьте пожалуйста!!! Может возникали у кого нибудь идентичные проблемы? Разработка велась на 6.5 этой базы а сервер 5тый.
 
G

Gor

Извините немного ошибся...Выложил эту базу на сервер 5 а клиент 6ой но остальное то всё работает все остальные агенты кнопки итд....только этот агент и при том что локально отрабатывается... :(
 
D

Domino6

Перейди с ентраев на коллецию документов.
Колекцию определяй как проход по виду или через поиск по базе, тем более ифовое условие это и есть условие поиска

или по старому коду
сделай другой вид в котором не будет респонсов и документов с пустым полем
условие отбора
SELECT Form"Issue_D" &PRRNumber_T=!""

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

Код:
Set dv = db.GetView("ExportDataView")
Set doc = dv.getFirstDocument
While NOT(doc is Nothing) then
Call SetData( doc )
Set doc = dv.GetNextDocument(doc)
WEnd
 
G

Gor

Пробывал использовать этот код для прохода подументально...
Код:
Set dv = db.GetView("ExportDataView")
Set doc = dv.getFirstDocument
While NOT(doc is Nothing) then
Call SetData( doc )
Set doc = dv.GetNextDocument(doc)
WEnd
не получилось стал обрываться ещё раньше вообще на стадии Set db = s.CurrentDatabase.
Потом попробывал ещё раз залезть в дебагер со старым кодом
и действительно!!!!!!!!!!!!вроде бы пошагово Set db = s.CurrentDatabase
определение текущей базы данных проходит но если залезть в дебагере в любую вьюху в этой базе ну где определение переменных идёт...и!!!!!!!!! при нажатии на вьюху любую причём выскакивает ошибка!!!!!
Потом попробывал провести опыт... Поставил на другом компе 5 ый клиент... (сервер тоже 5 как я уже и говорил) иии!!!! агент начал корректно работать..!
Только вот в чём дело то я до сих пор не пойму... В чём несостыковка?? Что он такого не знает что знает 5 ый... Неужели в пятом власса нету такого CurrentDatabase или не понимает Set s = New NotesSession
либо Set db = s.CurrentDatabase эх.... :( Конечно хотелось бы чтобы агент работал под 6 клиентом(
 
D

Domino6

Может с форматами базы напутал. У тебя какой формат базы на сервер 6-ой или 5-ый
 
G

Gor

в смысле формат? что то не совсем понял...они же вроде все в одном формате ....nsf или я как то может понял не так про что ты...
 
D

Domino6

<!--QuoteBegin-Gor+19:08:2005, 12:55 -->
<span class="vbquote">(Gor @ 19:08:2005, 12:55 )</span><!--QuoteEBegin-->одном формате ....nsf
[snapback]23717" rel="nofollow" target="_blank[/snapback]​
[/quote]
это расширение а форматы у них по версиям 4-я 5-я 6-я
Если поместить на сервер не репликацией а переписыванием то могут быть проблемы

- Смени вид
- определяй базу по имени а не от сессии
Set db=New NotesDatabase(сервер,файл)
 
G

Gor

аа....)) формат 5ый....ок способ попробую
 
Мы в соцсетях:

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