2011-11-05 87 views
0

我想在我的Java應用程序中使用R.我現在有一些可以從Java運行R的接口(我想我會使用JRI)。 RJDBC庫允許R使用JDBC驅動程序連接到數據庫。是否可以將java.sql.Connection從Java傳遞給R?

我想要做的就是將打開的連接從Java應用程序傳遞給R以備使用。

這可能嗎?

編輯:我可以爲R傳遞參數並從R中打開一個新連接。我可以用rJava從R訪問Java對象。

點如果可以通過在Java中的java.sql.Connection對象到R轉換R用來連接R連接對象中的連接用RJDBC訪問數據庫。

+6

傳遞連接幾乎不是一個好主意。你不可以從R開一個新的嗎? – aishwarya

+0

@aishwarya是的,我可以打開,但我想嘗試使用我的Java應用程序中管理的連接池中的某些連接。 –

+1

連接就像2個系統之間的合同,如果你通過一個合同,它就沒有意義:-)。你應該檢查你是否可以在R中使用相同的連接池,如果它可以通過JNDI或其他方式使用。 – aishwarya

回答

1

所以我沒有這樣做......但我懷疑如果你真的想,有一種方法。如果您使用rJava從Java調用R(JRI樣式),那麼java對象實際上託管在JVM上,而不是R引擎。因此,連接對象及其所有資源實際上不會從Java移動到R,實際上R中的所有調用都將通過rJava轉發給java,然後將響應發回。所以是的,這應該是可能的。它聽起來像更多的工作,但它的價值。

3

這不是你正在尋找的答案:

如果您有需要傳遞角落找尋的連接,我假設你有某種建築設計缺陷。而是保持連接在一個地方,並傳遞數據傳輸對象/ pojos。

+0

請看看我的編輯。 –

相關問題