Lotus и Java

  • Автор темы fornit
  • Дата начала
F

fornit

Гость
#1
есть бд lotus. как можно извлечь из нее данные, используя java API?
 
F

fornit

Гость
#3
ну просто надо создать веб приложение,отбражающее данные бд лотус, но использовать не веб-сервер лотус,а сначала данные получить с помощью джавы и только потом веб
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#4
ну просто надо создать веб приложение,отбражающее данные бд лотус, но использовать не веб-сервер лотус,а сначала данные получить с помощью джавы и только потом веб
Код:
import lotus.domino.*;

NotesThread nt = new NotesThread();
nt.sinitThread();
Session session = NotesFactory.createSession();
Database db = session.getDatabase(null, null);
if (db.openByReplicaID("имя сервера", "ид базы")) {
Document document = db.getDocumentByUNID("юнид документа");
document.getItemValue("Имя поля данных");
}
Как-то так.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 785
42
35
Киев
#5
Прошу прощения у автора темы...
Всем привет!
Сразу оговорюсь - Java не знаю.
проблема вот в чем. Есть на страничке линк
в нем такой код. Все нормально работает.

alert( java.lang.System.getProperty("os.name") )


но если os.name изменить на user.name - не работает. хотя на сколько я знаю такое свойство есть
 
F

fornit

Гость
#6
а можно по подробнее..что именно делать надо?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 435
351
homepage.mac.com
#7
это так только для случая, когда на компе есть установленый нотес...
когда его нет - нужна другая либа... IIOP
для секурной аутентификации нужен SSL
для чего:
-настроить самомподписный сертификат
-запустить DIIOP
-взять с сервера класс TrustedCert, и пихнуть в класспаз

и будет что-то типа:
Код:
package org.ldn.authority;

import lotus.domino.NotesException;
import lotus.domino.NotesFactory;
import lotus.domino.Session;

/**
* @author mike
* 
*/
public class IIOPSession {

private lotus.domino.Session ldnSession = null;
private Account acc = null;
private AccountDialog dlg = null;
/**
*
*/
String host = null, user = "", pwd = "";

public IIOPSession(String argv[]) {
// TODO Автоматически созданная заглушка конструктора

if (argv.length < 1) {
acc = new Account();
dlg = new AccountDialog(new javax.swing.JFrame(), acc, true);
dlg.setVisible(true);
host = acc.getServer();
if (host.length() != 0) {
user = acc.getName();
pwd = acc.getPassword();
} else {
//throw new Error("account hasn't been initialized");
}
} else {
host = argv[0];
if (argv.length >= 2) {
user = argv[1];
}
if (argv.length >= 3) {
pwd = argv[2];
}
}
}

/**
* @param argv
*/
public static void main(String[] argv) {
// TODO Автоматически созданная заглушка метода
IIOPSession t;
t = new IIOPSession(argv);//new String [] {"rhel-ws"});
t.run();
//		Thread nt = new Thread((Runnable) t);
//		nt.start();
System.exit(0);
}

public Session createSession() {
String args[] = new String[1];
args[0] = "-ORBEnableSSLSecurity";
Session result = null;
try {
Class o = Class.forName("TrustedCerts");
try {
ldnSession = NotesFactory.createSession(host, args, user, pwd);
result = ldnSession;
} catch (NotesException ex) {
ex.printStackTrace();
} catch (NoClassDefFoundError ex) {
System.out.println("Create Session Error");
ex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}

return result;
}

public void run() {
// TODO Автоматически созданная заглушка метода
Session s = createSession();
if (s != null) {
try {
System.out.println("Platform = " + ldnSession.getPlatform());
System.out.println("User = " + ldnSession.getCommonUserName());
} catch (NotesException ex) {
ex.printStackTrace();
}
}
//System.exit(0);
}
}
Прошу прощения у автора темы...
Всем привет!
Сразу оговорюсь - Java не знаю.
проблема вот в чем. Есть на страничке линк
в нем такой код. Все нормально работает.

alert( java.lang.System.getProperty("os.name") )


но если os.name изменить на user.name - не работает. хотя на сколько я знаю такое свойство есть
на этот вопрос я уже отвечал - секурити браузера не пущает, надо сиборить в ней "дырки" :)
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#8
а можно по подробнее..что именно делать надо?
Найти в лотусовой жвм нужный jar и подсунуть его "дёргающей" жвм. Где нужно "дёргать" прописать вышеприведённый код.
Про объектную модель лотуса см. справку лотуса.
Подробнее написать не могу, бо сам не ведаю. Здесь есть настоящие гуру по этой теме, если их заинтересует твой вопрос — считай, повезло. Кстати, попробуй поискать по форуму, может что-то подобное попадалось.
 
F

fornit

Гость
#10
я что скажете про Lotus Domino Driver for JDBC 1.5? с помощью него можно получить доступ к бд, а потом работать с ней с помощью стандартных запросов sql или как?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 435
351
homepage.mac.com
#12
fornit учите матчасть, а не ищите "кривые" пути :)
с установленным Нотусом, здесь всё описано:
http://www..../notes-eclipse/

с неустановленым - я выше сказал + читайте IIOP в хэлпе дизайнера и администатора