• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Ошибка подключения к базе

  • Автор темы Dymytry
  • Дата начала
D

Dymytry

А кто-нибудь может помнит как решать проблему "database has not been opened yet"? Под джаву. Я пробовал уже три варианта:

1)
Код:
Database db = session.getDatabase(serverName, dbName);
- выдает
NotesException: Database ... has not been opened yet
2) добавить
Код:
db.open();
- выдает
HTTP JVM: NotesException: Database open failed (%1)
3) через DbDirectory
Код:
dbd.openDatabase(dbName);
- выдает
HTTP JVM: NotesException: Database open failed (%1)
Уже и не знаю что делать...
 
D

Dymytry

D

Dymytry

Solved!

Solution: server document -> security tab -> trusted servers field в самом низу.
 
A

ankass

Из агента, расположенного в одной БД необходимо считать данные из другой БД.
В результате выдается ошибка.
Агент подписан менеджером базы, который имеет доступ менеджера к БД источнику.
Подскажите пожалуйста чего еще не хватает?

Код:
import lotus.domino.*;

public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();

System.out.println("Агент стартовал");
Database db=session.getDatabase("KasServer\\KasOrg", "WebSrv\\SourceDoc.nsf");
System.out.println(db.getFileName());

DocumentCollection dc = db.getAllDocuments();

} catch(Exception e) {
e.printStackTrace();
}
}
}

Агент стартовал
SourceDoc.nsf
NotesException: Database KasServer\KasOrg!!WebSrv\SourceDoc.nsf has not been opened yet
at lotus.domino.local.NotesBase.PropGetAdt(Native Method)
at lotus.domino.local.Database.getAllDocuments(Unknown Source)
at JavaAgent.NotesMain(JavaAgent.java:12)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
 
N

nvyush

Агент запускается из клиента или на сервере? Если из клиента, то у запускающего пользователя может не хватать прав. Можно для контроля в агента добавить строчку
PHP:
System.out.println(session.getAgentContext().getEffectiveUserName());
 
A

ankass

или так:
Код:
import lotus.domino.*;

public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();

System.out.println("Агент стартовал");
Database db=session.getDatabase("KasServer\\KasOrg", "WebSrv\\SourceDoc.nsf");
System.out.println(db.getFileName());
db.open();

DocumentCollection dc = db.getAllDocuments();

} catch(Exception e) {
e.printStackTrace();
}
}
}

Агент стартовал
SourceDoc.nsf
NotesException: Database open failed (%1)
at lotus.domino.local.Database.Nopen(Native Method)
at lotus.domino.local.Database.open(Unknown Source)
at JavaAgent.NotesMain(JavaAgent.java:11)
at lotus.domino.AgentBase.runNotes(Unknown Source)
 
A

ankass

Агент запускается из клиента или на сервере? Если из клиента, то у запускающего пользователя может не хватать прав. Можно для контроля в агента добавить строчку
PHP:
System.out.println(session.getAgentContext().getEffectiveUserName());
Добавил, выдает имя соответствующего пользователя.

Агент стартовал
CN=XXXXXX/O=YYY
SourceDoc.nsf
NotesException: Database open failed (%1)
at lotus.domino.local.Database.Nopen(Native Method)
at lotus.domino.local.Database.open(Unknown Source)
at JavaAgent.NotesMain(JavaAgent.java:13)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
 
H

hosm

а слеш в имени сервера правильный?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
178
Из-за слэша в имени сервера не работало ))
боритесь со своими виндовыми привычками, "весь" мир живет в прямых слэшах :)
на возможный "опус" про множество винды (т.е. по-факту - просто "ссут в уши" шобы бабло пилитть удобней было)
 
Мы в соцсетях:

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