Можно ли передать java.sql.Connection из Java в R? - PullRequest
0 голосов
/ 05 ноября 2011

Я хочу использовать R внутри моего Java-приложения. У меня сейчас есть какой-то интерфейс, который может запускать R из Java (думаю, я буду использовать JRI). Библиотека RJDBC позволяет R подключаться к базе данных с помощью драйвера JDBC.

Я хочу передать открытое соединение из Java-приложения в R, готовое к использованию.

Это возможно?

РЕДАКТИРОВАТЬ: Я могу передать параметры для R и открыть новое соединение из R. Я могу получить доступ к объектам Java из R с помощью rJava.

Точка, если это возможно, передает объект java.sql.Connection, который находится в Java, в R и преобразует соединение в объект соединения R, который R использует для доступа к базе данных с помощью RJDBC.

Ответы [ 2 ]

3 голосов
/ 09 ноября 2011

Это не тот ответ, который вы ищете:

Если вам нужно обойти соединение, я предполагаю, что у вас есть какой-то недостаток архитектурного дизайна. Скорее держите Соединение в одном месте и передавайте объекты / объекты передачи данных.

1 голос
/ 14 ноября 2011

Так что я не сделал этого ... но я подозреваю, что если вы действительно этого хотите, есть способ. Если вы используете rJava для вызова R из Java (стиль JRI), тогда java-объекты действительно размещаются в JVM, а не в движке R. Таким образом, объект соединения, вместе со всеми его ресурсами, фактически не будет перемещаться из Java в R, на самом деле все вызовы из R будут перенаправляться в java через rJava, а затем ответ будет отправляться обратно. Так что да, это должно быть возможно. Это звучит как больше работы, чем стоит.

...