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

是否可以将java.sql.Connection从java传递到R?,java,r,jdbc,connection,jri,Java,R,Jdbc,Connection,Jri,我想在Java应用程序中使用R。我现在有了一些可以从Java运行R的接口(我想我会使用JRI)。RJDBC库允许R使用JDBC驱动程序连接到数据库 我要做的是将打开的连接从Java应用程序传递到R ready以供使用 这是可能的吗 编辑:我可以为R传递参数并从R打开新连接。我可以使用rJava从R访问Java对象 如果可能的话,将java中的java.sql.Connection对象传递给R,并转换R连接对象中的连接,R使用RJDBC访问数据库。这不是您要寻找的答案: 如果您需要在周围传递连接,

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

我要做的是将打开的连接从Java应用程序传递到R ready以供使用

这是可能的吗

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


如果可能的话,将java中的
java.sql.Connection
对象传递给R,并转换R连接对象中的连接,R使用RJDBC访问数据库。

这不是您要寻找的答案:


如果您需要在周围传递连接,我假设您存在某种架构设计缺陷。而是将连接保持在一个位置并传递数据传输对象/POJO。

这不是您想要的答案:


如果您需要在周围传递连接,我假设您存在某种架构设计缺陷。而是将连接保持在一个位置,并传递数据传输对象/POJO。

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

所以我没有做这件事。。。但我怀疑如果你真的想,有一种方法。如果您使用rJava从Java调用R(JRI风格),那么Java对象实际上托管在JVM上,而不是使用R引擎。因此,连接对象及其所有资源实际上不会从Java移动到R,实际上,来自R的所有调用都会通过rJava转发到Java,然后将响应发送回Java。所以,是的,这应该是可能的。不过,这听起来确实比它的价值更大。

传递连接几乎从来都不是一个好主意。你不能从R打开一个新的吗?@aishwarya是的,我可以打开,但我想尝试使用Java应用程序中管理的连接池中的一些连接。连接就像两个系统之间的契约,如果你传递一个契约,它就没有意义:-)。您应该检查是否可以在R中使用相同的连接池,如果它可以通过JNDI或其他方式使用。传递连接几乎从来都不是一个好主意。你不能从R打开一个新的吗?@aishwarya是的,我可以打开,但我想尝试使用Java应用程序中管理的连接池中的一些连接。连接就像两个系统之间的契约,如果你传递一个契约,它就没有意义:-)。您应该检查是否可以在R中使用相同的连接池,如果可以通过JNDI或其他方式使用。