Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / (Lotus) Хранение файлов в Lotus / 6 сообщений из 6, страница 1 из 1
02.11.2011, 14:15
    #37508590
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Lotus) Хранение файлов в Lotus
Скажите пожалуйста, каким образом в Lotus хранятся файлы и можно ли их достать без Lotus?


Заранее благодарен.
...
Рейтинг: 0 / 0
02.11.2011, 14:25
    #37508641
Абсолют
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Lotus) Хранение файлов в Lotus
Это ад.

Там своя база и хрен знает какая.

Не могу с 100% уверенностью сказать, но мне не кажется, что их можно достать без Lotus'а. Работал очень мало и слава Б-гу!
...
Рейтинг: 0 / 0
02.11.2011, 15:17
    #37508812
(Lotus) Хранение файлов в Lotus
vah,

Дык там же DB2, не?
...
Рейтинг: 0 / 0
02.11.2011, 15:25
    #37508834
Абсолют
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Lotus) Хранение файлов в Lotus
bla_bla_bla_bla_bla_blavah,

Дык там же DB2, не?
И да и нет. Я уверен, что накрутить можно Lotus на Db2, но из коробки идет вроде своя другая бэдэ. Могу ошибаться, так как щупал очень мало и не сервеную часть.
...
Рейтинг: 0 / 0
07.11.2011, 16:16
    #37514630
dimonz80
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Lotus) Хранение файлов в Lotus
Абсолют,

Файлы хранятся как вложения. Достать без клиента Notes можно:
1) HTTP (если поднят web сервер и разрешен доступ через web к базе а по дефолту так и есть). Нужно знать а) UNID документа б) имя вложения.
тогда URL такой http(s)://yourServer/path/to/database.nsf/0/<UNID>/$FILE/<nameOfAttachmentFile>
минусы - надо знать UNIDы документов и наименования файлов вложений. Есть правда еще варианты сделать собственные представлния с еменами вложений и отдачей этих вьюх в виде JSON или XML, но если с лотусом туго, то они не стоят упоминания.

2) Java + DIIOP (CORBA в Lotus так называется)
для этого нужно
а) поднять на сервере DIIOP (load diiop на консоли сервера, по умолчанию не поднят)
б) взять ncso.jar из клиента или сервера (%PathToNotes%/data/domino/java/ncso.jar например)
ц) запустить что-то типа этого (модифицированный пример из хелпы):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
 import  lotus.notes.*; //для этого нужен ncso.jar
 import  java.util.Vector;
 import  java.util.Enumeration;

 public   class  SuperFileExtractor {
   public   void   static   void  main(String argv[]) {
     try  {
      Session session = NotesFactory.createSession("serverName","userName","password");
    
      Database db = session.getDatabase("serverName","Path/to/yourDatabase.nsf");
      DocumentCollection dc = db.getAllDocuments();
      Document doc = dc.getFirstDocument();
     
       while  (doc !=  null ) {
	    // вариант 1 - выбрать все вложения из RTF поля BODY (может и по другому называться)
        RichTextItem body = (RichTextItem)doc.getFirstItem("Body");
        Vector v = body.getEmbeddedObjects();
        Enumeration e = v.elements();
         while  (e.hasMoreElements()) {
          EmbeddedObject eo = (EmbeddedObject)e.nextElement();
           if  (eo.getType() == EmbeddedObject.EMBED_ATTACHMENT) {
            eo.extractFile("path/To/Extaction/Dir/" + eo.getSource());
		  }
        }
		//END OF вариант 1
	
		//вариант 2 - выбрать вложение по имени (Аttachment.doc например)		
		 EmbeddedObject eo = doc.getAttachment("Attachment.doc");
		  if (oe !=  null ){
			eo.extractFile("/path/To/Extraction/Dir/" + oe.getSource());
		 }
		 // END OF вариант 2
		 
        doc = dc.getNextDocument();
      }
    }  catch (NotesException e) {
      System.out.println(e.id + " " + e.text);
      e.printStackTrace();
    }
  }
}

можно еще смотреть поля $Filе (их может быть несколько по к-ву вложений). Но это в основном для писем с атачами, пришедших через SMTP. Хотя так можно узнать об именах всех вложений без инфы о полях RTF и именх вложений. Пример кода приводить лень.

PS
может я не понял ТС и под файлами имеются ввиду базы *.nsf?
...
Рейтинг: 0 / 0
14.11.2011, 15:18
    #37525683
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Lotus) Хранение файлов в Lotus
vahСкажите пожалуйста, каким образом в Lotus хранятся файлы и можно ли их достать без Lotus?
Заранее благодарен.
Есть несколько способов. Конкретизируйте вопрос. Ещё важно какими инструментами и навыками вы располагаете (Domino Designer, Lotus Script, Java, C/C++, VBA/OLE).
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / (Lotus) Хранение файлов в Lotus / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]