Вызов Java-программы из Microsoft Access - PullRequest
2 голосов
/ 18 ноября 2009

У меня есть две программы, которые мне нужно интегрировать. Одним из них является программа Microsoft Access. Другая - это программа на Java. Никакой гибкости в выборе платформы для любой из них здесь, это существующие сложные программы.

В какой-то момент программе Access необходимо выпустить одну строку текста, которую Java-программа знает, как преобразовать в код (другую строку текста), и получить этот код обратно. Java-программа - это просто приложение командной строки, упакованное в виде jar-файла, которое принимает один бит текста, а выплевывает другой.

Какой самый простой способ сделать это?

Я так понимаю, Access не может выполнять системные вызовы напрямую из соображений безопасности, если я что-то упустил? Ранее утилита преобразования была упакована как DLL и вызывалась через OLE. Я могу упаковать файл JAR в виде DLL, но это кажется окольным. Это лучшее, что я могу сделать?

(Если есть еще один подобный вопрос, просто укажите мне на него. В результатах поиска по Java и Access люди обычно поступают наоборот: доступ к базе данных Access через Java).

Ответы [ 2 ]

1 голос
/ 18 ноября 2009

Как насчет использования техники, описанной на этой странице .

Вы бы изменили строку, переданную функции WScript.Shell.Exec (), на любую команду, которая вам нужна для выполнения вашей Java-программы. Тогда выходные данные Java-программы будут доступны через вызов ReadAll () свойства StdOut объекта Exec.

0 голосов
/ 18 ноября 2009

Почему бы просто не запустить процесс Access как подпроцесс Java-программы, содержащей ваш существующий .jar? Таким образом, вам не нужно выполнять любую специфическую для Java / MS интеграцию, и вы можете использовать существующий .jar в качестве библиотеки в вашей новой программе Java.

Перехватить стандартный вывод программы Access, обработать его на Java, а затем записать обратно через стандартный ввод? См. Объект Process для получения дополнительной информации и этот ответ для получения дополнительной информации о том, как использовать stdout / err и ссылки на пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...