2011-08-04 9 views
0

RでRMySQLをインストールできました。また、正常に動作します(DBIも必要な依存関係をインストールしました。私は、JRIパッケージ(これもうまくいく)を通してRとやりとりするJavaアプリケーションを構築しています。現在、私のアプリケーションはMySQLデータベースにクエリを実行し、クエリ結果をファイルに書き込み、これらのファイルをRにロードします(Rのload.csv()関数を使用して)。しかし、RがMySQL(つまり、RMySQLパッケージ)と直接対話する場合、プログラムはより効率的に実行されます。 Rengine.eval()JRI関数を使用してロードしようとすると、RMySQLパッケージがRにロードされないという問題があります。しかし、Rengine.eval()関数は、ロードしようとした他のライブラリをロードします。 は、ここでのコードの抜粋です:RMySQLパッケージがJRIインターフェイス経由でロードされない

Rengine re; 

re.eval("library(\"DBI\")"); // this works, DBI will load 
re.eval("library(\"RMySQL\")"); // this will not work, RMySQL fails to load 

RMySQLをロードするために失敗していることを確認するために、私はこのでした:

[STRING *( "DBI:

REXP x; 
System.out.println(x=re.eval("library(\"DBI\")")); 
System.out.println(x=re.eval("library(\"RMySQL\")")); 

を私は次の出力を得ます」、 "統計"、 "グラフィックス"、 "grDevices"、 "utilsの"、 "データセット"、 "方法"、 "ベース")]

ヌル

明らかに分かるように、2番目のprintlnコマンドはnullを返しています。これは、RMySQLがロードに失敗していることを意味します(もちろんRMySQL関数のいずれも動作しません)。なぜこれが当てはまるのかわかりません。

私は間違っているとは分かりませんが、問題が何であるか教えてもらえますか、JRIを使ってライブラリを読み込む方が良いのであれば、それを感謝します。

私はsparc-sun-solaris2.10のRバージョン2.13.0とRMySQL_0.8-0ビルドを使用しています。

答えて

1

JRIを実行する前に環境変数R_HOME、R_INCLUDE_DIR、R_SHARE_DIR、およびR_DOC_DIRを設定してこの問題を解決しました。今すぐうまく動作します。

0

私はこれまでにこの種の問題を抱えていました。

おそらく正しい方法ではないRMySQLパッケージをインストールしたでしょうか、

install.packages('RMySQL') 

正しい方法は次のようになります。私はタイプ「ソース」とのパッケージをインストールした後、日本総研を介してパッケージをロードすることに成功した

install.packages('RMySQL',type='source') 

関連する問題