5

埋め込まれた Derby データベースで JRuby 1.2.0 と Rails 2.3.2 を使用しようとしています。と を にコピーderbytools.jarしましderby.jarたが$RUBY_HOME/librake db:migrateそれでも次のようになります。

The driver encountered an error: 
    cannot load Java class org.apache.derby.jdbc.ClientDriver

ああ、そして... 私は勘を働かせてそれを理解しました。したがって、他の誰かが私と同じ問題に遭遇した場合に備えて、ここに投稿します。

私がオンラインで見つけたほとんどすべてのドキュメントには、database.ymlDerby 用に次の構成が含まれています。

development:
    adapter: jdbc
    driver: org.apache.derby.jdbc.ClientDriver
    url: jdbc:derby:[db];create=true
    username: xxx
    password: xxx

これはおそらくクライアント/サーバーのセットアップでは問題なく機能しますが、組み込みの Derby セットアップでは次のものが必要です。

development:
    adapter: jdbc
    driver: org.apache.derby.jdbc.EmbeddedDriver
    url: jdbc:derby:[db];create=true
    username: xxx
    password: xxx

「ClientDriver」ではなく、「EmbeddedDriver」に注意してください。

4

4 に答える 4

2

プロフィールに赤いブロックが表示されるのが嫌いなので、答えます。

埋め込み derby を使用する場合、ActiveRecord-JDBC にも微妙なバグがあります。ユーザー名とパスワードを指定しないと、何も機能しません。このバグの原因を追跡し、パッチの提出に取り組んでいますが、私と同じ問題に遭遇した場合はお知らせください。コードをここに投稿します.

于 2009-04-09T16:44:14.267 に答える
0

ClientDriverはderbyclient.jarにあります

于 2009-12-07T16:46:31.357 に答える
0

奇妙なことに、私のubuntu 9.04ボックスではうまくいきました:標準のubuntuパッケージのみを使用し、DB構成は次のとおりです。

development:
 adapter: jdbc
 driver: org.apache.derby.jdbc.EmbeddedDriver
 url: jdbc:derby:[myapp];create=true
于 2009-05-11T09:07:30.757 に答える
0

ドンの答えに加えて、ユーザー名/パスワードなしで ClientDriver を使用すると、次のエラーが発生しました。The driver encountered an error: java.sql.SQLNonTransientConnectionException: Password length (0) is outside the range of 1 to 255.

database.yml でユーザー名/パスワードを設定すると問題が解決しました!

于 2010-01-27T23:51:47.603 に答える