Agent Runonserver

Тема в разделе "Lotus - Программирование", создана пользователем Xalet, 2 июн 2009.

  1. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Как создать агента, который бы запускался на сервере активацией из клиента?

    Я сделал агента шедульного, который запускается никогда.
    Сделал кнопочку и на нее повесил код:

    Код (Text):
        Dim s As New NotesSession
    Dim db As NotesDatabase
    Dim agent As NotesAgent
    Set db = s.CurrentDatabase
    Set agent = db.GetAgent("TestInsert")
    Call agent.RunOnServer
    На этом месте Call agent.RunOnServer выкидывает Неизвестная ошибка.
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Что за ошибка?
    Покажи окошечко?
     
  3. Murat

    Murat Гость

    варианты ошибки
    ошибка внутри агента(в коде)
    права на запуск агентов на сервере
     
  4. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    а можешь понять - агент вообще запускается???
    во-первых, может понадобиться проверить код агента, настройки отбора документов и права запуска агентов на сервере.
     
  5. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Вроде разобрался. Ошибки нет, но не работает. Надо настройки кое какие с сервером проделать...

    Мне на самом деле скорее нужно было подтверждение, что я в правильном направление двигаюсь, что от вас собственно и получил. Всем спасибо за помощь.
     
  6. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Ну проверь имеел ли пользователь, который запускает агент, такие права.
    Проверяй в серверном документе, а ACL-базы в которой крутится агент ну и в самом агенте уровень security.
     
  7. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    пользователь, подписавший агент /библиотеки (!), должен быть указан в соотв. настройках безопасности сервера (в соотв. с требуемым уровнем агента и командами в нем вызываемыми)
     
  8. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Позвольне согласиться.
    Права должны быть розданы тому кем подписан агент, а не тому кто подписывает!!!
    Подписант и тот кем подписан агент не всегда одни и те же люди!

    А вообще смотри раздел Programmability Restrictions в серверном документе
     
  9. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    кгм :) если мы так глубоко забурились в терминологию, то конечно, но чаще всего пользователь подписавший агент будет его подписантом

    а вообще тут много всего важного, вот только раздел Programmability Restrictions мало поможет чтобы это понять, надо смотреть
    в дизайнере "Security for agents on servers and the Web", в админе "Controlling agents that run on a server"
     
  10. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    С правами вроде как все нормально там. Т.е. агент как бы и запускается. но не создает конекшн к дб2:

    Код (Text):
    Dim session As New LCSession
    Dim src As New LCConnection ("db2")
    src не создается.
    Может есть идеи?
     
  11. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    ну, код ответа должен быть :) исчи :)

    из хелпа пример? :)
    Код (Text):
    Option Public
    Uselsx "*lsxlc"

    Sub Initialize
    Dim connect As New LCConnection ("db2")
    ' set the appropriate properties to connect to DB2
    ' note the use of dynamic properties to do this
    ' all properties of a connection may be referenced
    ' by name
    connect.Database = "Gold"
    connect.Userid = "JDoe"
    connect.Password = "xyzzy"

    ' try the connect
    On error go to Trap
    connect.Connect
    Print "Successfully connected to DB2."
    Exit Sub
    Trap:
    Print "Connection failed with error " & err & ": " & error
    Exit Sub
    End Sub
     
  12. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    пример не из хелпа, но суть похожая... соответственно в том примере сломается на строчке:

    Код (Text):
     connect.Database = "Gold"
    Instance member DATABASE doesn't exists.

    Собственно что и означает, что объекта connect не создал. Но тот же код из клиента замечательно работает.
     
  13. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    1) ты как проверял, что он не создан?.. пробовал обработчик ошибок поставить, проверить connect is nothing и т.п.?
    2) какая версия домино на сервере, какая ОС? может под тот сервер/ось нету реализации?..
    я вот не уверен, конекторы эти в 6-ке появились или раньше... с сервера не пытался подключить...
     
  14. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    1. Странно. Не пустой он получается. Но почему тогда ошибка?

    2. Домино 8.5 на линуксах

    Коннекторы появились в пятерке.
     
  15. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    може в линуксах и проблема?.. как вариант - поднять там ODBC, либо заюзать JDBC, что люди больше хвалят...
    к стати, а сервак в консоли не пишет подобного?
    "Error Creating Product Object"

    к сведению... не факт, что как-то поможет...

    http://www-01.ibm.com/support/docview.wss?...utf-8&lang=

     
  16. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Подробного ничего не пишет, ошибку я писал выше Instance member блаблабла doesn't exists. Т.е. как бы коннектор создается, но в нем нет свойств, которым пытаюсь присваивать значения.
     
  17. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Проблема решена. Нужно было в /user/lib сделать линк на файл libdb2.so, который находится в директории в которую установлен дб2 рантайм(либо сервер) .../lib32/libdb2.so

    Тема на айбиэмовском сайте для аикса(она же и для юникс систем, с отличием в названии файлов):
     
  18. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    не знаю на сколько равнозначный будет нижеследующий вариант решения, но напоролся в нете на один блог, в котором пытаются подключиться к ораклу и вот, что чел пишет в коде:

    Код (Text):
    'connect.database="XE" 'Don't use this method because it doesn't work
    connect.Server = "XE"
    и поясняет так:
     
  19. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    так проблем в том, что пока не пропишешь сошки(они же дллки) то вообще никакие поля у коннекшн недоступны.

    В серверном агенте пытаюсь открыть базу с другого сервера:

    Код (Text):
    Set db = session.GetDatabase(doc.LogServerName(0), doc.LogDbName(0), False)
    Если код запускается с рабочегого места, то имя сервера берется из записной книжки. А когда на сервере, где прописать коннекшн? В домино директори что-то похожее нашел и настроил, но не помогло. Кто-нибудь сталкивался? Где и что нужно прописать? (Сорри, вопрос тут больше по администрированию скорее).
     
  20. Klido

    Klido Гость

    это... код приведи полнее - doc чем у тебя знаменит, например?
    коннекшен для сервера - очевидно, либо не нужен (если серваки в DNS видят друг друга, либо стандартное соединение между серваками...)
     
Загрузка...
Похожие Темы - Agent Runonserver
  1. Amfion
    Ответов:
    6
    Просмотров:
    943
  2. imendan
    Ответов:
    25
    Просмотров:
    3.867
  3. Gottalent
    Ответов:
    0
    Просмотров:
    197
  4. garrick
    Ответов:
    2
    Просмотров:
    403
  5. anna
    Ответов:
    32
    Просмотров:
    1.890

Поделиться этой страницей