1

RH2 で H2 (1.4.181) データベースに接続しようとしました。R の再インストールや、Ubuntu での rJava の潜在的な問題の修正など、さまざまなことを試しました。ただし、次のエラーは消えません。

> library("RH2")
Loading required package: chron
Loading required package: RJDBC
Loading required package: DBI
Loading required package: rJava
> con <- dbConnect(H2(driverClass="org.h2.Driver", jars =    "~/h2-1.4.181.jar"), "jdbc:h2:~/test", "sa", "")
Error in is(object, Cl): error in evaluating the argument 'drv' in selecting a method for function   'dbConnect': Error in .jfindClass(as.character(driverClass)[1]) : class not found

誰かがこれを解決する方法を知っていますか、それとも構文を間違えましたか?

4

2 に答える 2

0

jars論点がずれていると思います。私の推測では、事前保留ではありません。

パッケージライブラリの古いH2 jarを更新されたものに置き換えることで、(Mac OS Xで)修正しました。具体的には:

 box:java nmvanhoudnos$ pwd
 /Users/nmvanhoudnos/Library/R/3.2/library/RH2/java
 box:java nmvanhoudnos$ ls
 h2-1.3.175.jar
 box:java nmvanhoudnos$ mv h2-1.3.175.jar h2-1.3.175.old
 box:java nmvanhoudnos$ cp ~/workspace/defectprediction/h2*.jar .
 box:java nmvanhoudnos$ ls
 h2-1.3.175.old h2-1.4.184.jar

OS、ファイルシステム、および更新 H2 jar の場所に適切な変更を加える必要がある場所。

新しい jar ファイルを配置したら、次のように R で動作することをテストできます。

> library(RH2)
> con <- dbConnect(H2())
> s <- "select VALUE from INFORMATION_SCHEMA.SETTINGS where NAME = 'info.VERSION'"
> dbGetQuery(con, s)
                 VALUE
1 1.4.184 (2014-12-19)

予想通り。

于 2016-09-09T23:52:49.710 に答える
0

RH2 の代わりに RJDBC を直接使用できます。これは、対応するコマンドになります。

con <- dbConnect( JDBC('org.h2.Driver', '~/h2-1.4.181.jar') , 'jdbc:h2:~/test', 'sa', '')

Windows では、ドライバー パスに ~ を使用するとエラーが発生することに注意してください。しかし、「C:/h2-1-4.181.jar」のように、jar の場所の文字列を絶対パスに置き換えると機能します。私が得たエラーはあなたのものと似ていましたが、他の理由でRH2を使用できなかったため、RH2が修正されたとは言えません.

RJDBC の詳細については、https ://www.rforge.net/RJDBC/index.html を参照してください。

于 2015-08-22T07:55:00.603 に答える