是否可以将java.sql.Connection从Java传递给R?

时间:2011-11-05 03:01:22

标签: java r jdbc connection jri

我想在我的Java应用程序中使用R.我现在有一些可以从Java运行R的接口(我想我会使用JRI)。 RJDBC库允许R使用JDBC驱动程序连接到数据库。

我想要做的是将打开的连接从Java应用程序传递给R准备使用。

这可能吗?

编辑:我可以传递R的参数并从R打开一个新连接。我可以使用rJava从R访问Java对象。

可能的点是将Java中的java.sql.Connection对象传递给R并转换R用于通过RJDBC访问数据库的R连接对象中的连接。

2 个答案:

答案 0 :(得分:3)

这不是您正在寻找的答案:

如果你需要通过连接,我认为你有某种建筑设计缺陷。而是将Connection保持在一个位置并传递数据传输对象/ pojos。

答案 1 :(得分:1)

所以我没有这样做......但我怀疑如果你真的想要,有一种方法。如果你使用rJava从Java调用R(JRI样式),那么java对象实际上是在JVM上托管的,而不是R引擎。因此,连接对象及其所有资源实际上不会从Java移动到R,实际上来自R的所有调用都将通过rJava转发到java,然后响应将被发回。所以是的,它应该是可能的。虽然它确实听起来像是值得做的工作。