Линк дока на другую базу

wowa

Well-known member
01.02.2007
845
0
#1
Подскажите, пожалуйста
Во вью нажимаю на кнопку... В кнопке запуск агента на сервере.
В этом агенте я хочу получить базу которая лежит на другом сервере и из этой базы получить док...
Возможно ли это?
У меня пишет ошибку:
Error 4063 on line 32: Database XXXXXXXXXX.nsf has not been opened yet
 

Xalet

Well-known member
08.08.2008
410
0
#2
Код:
Dim directory As New NotesDbDirectory( "" )
Dim db As NotesDatabase
Set db = directory.GetFirstDatabase( DATABASE )
Call db.Open( "", "" )
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#4
Ошибка в 32 строке. :)
Может прав нет?

Добавлено: Нужен код.
 

wowa

Well-known member
01.02.2007
845
0
#5
Прав нет у кого ? у меня? у сервера?

Когда я запускаю агент дебаггером все работает
Когда делаю runOnServer, то базу вроде как получаю, а вот сам документ нет.... Ошибка при получении документа:

32 строка: Set docTR = dbTR.GetDocumentByUNID( "F01F3ADF97E1A24565257661003C166F" )
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#6
У того, кем подписан агент.
Базу как получаешь? С путями нормально?
 

wowa

Well-known member
01.02.2007
845
0
#7
Medevic ,

Пробовал разными способами:
Код:
Dim dbTR	 as New NotesDatabase("","")
If Not dbTR.OpenByReplicaID( SERVER_TR, "8025761C003A3D8E" ) Then
Print( db.Title & " was successfully opened" )
End If

Set docTR = dbTR.GetDocumentByUNID( "F01F3ADF97E1A24565257661003C166F" )
повторю, если делаю runOnServer, то проблема.... если агент запускаю из дизайнера, то нет проблем.....

Нашел какой-то ответ вроде как на мою проблему:
Does the other server trust the server executing the agent? Check the server document -> Security -> Trusted servers.
Не могу только толком понять и найти где это все
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#8
Когда запускаешь из дизайнера, то запускается от твоего имени.
Когда через RunOnServer, то от имени подписавшего.

Не могу только толком понять и найти где это все
В администраторе.
 

wowa

Well-known member
01.02.2007
845
0
#9
Medevic , а в ACL второй базы, должен быть указан сервер первой базы?
 
13.03.2009
625
1
#10
проблема с доступом однозначно.
раньше вроде решали добавлением в ACL таргет-базы replicaID базы, из которой запущен агент.
сейчас может какие-то настройки в документе сервера появились?
з.ы. а коннекшн с первого сервера на второй есть?
 

TIA

:-)
Lotus team
15.05.2009
790
3
#11
Господа, ключ к проблеме в том, что БД на другом сервере
Сервер, где крутится агент должен быть трастет для того к которому обращаешься (устанавливается в документе на сервер в PAB).
Ну и как сказали, подписант должен иметь права на БД по ACL
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#12
Сигнер должен быть указан. Если это сервер, значит сервер.
 

nvyush

Lotus team
22.04.2009
2 317
0
#13
Также проблема может быть в security level (вторая закладка свойств агента)
 

wowa

Well-known member
01.02.2007
845
0
#16
Корооче, проблема в том, что доступа нет от одной базы в другую... нужно прописывать в АСЛ и еще наверно куда-то

Подскажиет еще одну проблему:
Как сделать из такого линка Notes:///8025761C003A3D8E/0/F01F3ADF97E1A24565257661003C166F/?EditDocument
уменьшенный линк , квадратиком который ))))))
 
A

amigolinx

#18
Как сделать из такого линка Notes:///8025761C003A3D8E/0/F01F3ADF97E1A24565257661003C166F/?EditDocument
уменьшенный линк , квадратиком который ))))))
1. заполучить док
Код:
Dim session As New NotesSession
Dim targetdoc As NotesDocument

Set targetdoc = session.Resolve({Notes:///8025761C003A3D8E/0/F01F3ADF97E1A24565257661003C166F/?EditDocument})
2. втулить квадратик в NotesRichTextItem
Код:
Call rtitem.AppendDocLink(targetdoc, "it's link")
 

wowa

Well-known member
01.02.2007
845
0
#19
amigolinx , Ошибка на получении дока:
Error 4455 Cannot resolve URL
Возможно опять связано, что документ в другой базе и прав нет?