@Dan,
разве мне не нужен msdtc, позволенный для транзакций работать?
Только распределенные транзакции - Те, которые включают больше, чем единственное соединение. Сделайте вдвойне уверенными, что Вы только открываете единственное соединение в транзакции, и она не возрастет - Производительность будет намного лучше также.
Вы можете написать простое приложение Java, которое получает дескриптор интересующей вас почтовой базы данных, затем получает дескриптор стандартного представления в этой базе данных, а затем выполняет итерацию по документам в Посмотреть. Вот пример (приблизительный) пример кода:
import lotus.domino.*;
public class sample extends NotesThread
{
public static void main(String argv[])
{
sample mySample = new sample();
mySample.start();
}
public void runNotes()
{
try
{
Session s = NotesFactory.createSession();
Database db = s.getDatabase ("Server", "pathToMailDB.nsf");
View vw = db.getView ("By Person"); // this view exists in r8 mail template; may need to change for earlier versions
Document doc = vw.getFirstDocument();
while (doc != null) {
System.out.println (doc.getItemValueString("Subject"));
doc = vw.getNextDocument(doc);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Метод getItemValueString
получает заданное значение «поля». Другие важные поля в почтовом документе: From, SendTo, CopyTo, BlindCopyTo, Subject, Body и DeliveredDate. Обратите внимание, что Body - это элемент «форматированного текста» Notes, а getItemValueString
вернет только текстовую часть. DeliveredDate - это элемент NotesDate, и для этого вам потребуется использовать метод getItemValueDateTimeArray
.