Python: соединение с Lotus Domino через COM - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь разработать REST Api на Python 3.6, который облегчит передачу данных между базой данных Lotus Domino и удаленным веб-сервером.

К сожалению, я не могу подключить python к Domino.

Обычный подход заключается в использовании win32com для получения доступа к COM-интерфейсу Domino.

Мой код Python для достижения этой цели:

from win32com.client import Dispatch
session = Dispatch('Lotus.Notessession')
session.Initialize(password)
db = session.getDatabase(serverName, fileName)

К сожалению, код завершается ошибкой в ​​строке 2с предупреждением: «Ошибка записи в файл процесса pid.nbf (другие приложения могут неправильно обращаться к этому файлу)»

Другие сталкивались с этой проблемой, и для некоторых решение заключалось в том, чтобы гарантировать, что пользовательимеет доступ на запись в каталог данных Notes (и, следовательно, pid.nbf).Я пробовал это, но безрезультатно.

IBM заявляет (см. Доступ к объектам Domino через COM) , что интерфейс COM доступен на компьютере, содержащем любое из следующего:

  • Domino® Designer Release 5.0.2b или более поздней версии
  • Domino Server Release 5.0.2b или более поздней версии
  • Notes® Client Release 5.0.2b или более поздней версии

Программное обеспечение Domino или Notes должно быть установлено, но не должно быть запущено.

COM-объекты Domino должны быть в состоянии найти действительный файл notes.ini, сначала просматривая каталог программ Domino или Notes, а затемв системной переменной PATH.

На моем 64-битном сервере установлен Domino Server Release 8.5 (на нем не установлен клиент Notes).Мой код Python также работает на сервере Domino (однако я установил 32-битную версию Python, чтобы обеспечить совместимость с win32com).Поскольку мое программное обеспечение работает на сервере, соответствующий файл notes.ini является сервером, расположенным по адресу E: \ Lotus \ Domino.Я попытался запустить код Python с программным обеспечением Domino и работает, и нет.Оба приводят к вышеуказанной ошибке.

У меня кончается пар на этом.Может кто-то указать мне верное направление.Заранее спасибо

...