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ビルドを使用しています。