2009-04-08 3 views
5

JRuby 1.2.0과 Rails 2.3.2를 임베디드 Derby 데이터베이스와 함께 사용하려고합니다. 나는 $RUBY_HOME/libderbytools.jarderby.jar을 복사 한, 아직 rake db:migrate는 여전히 제공 :JRuby on Rails에서 임베디드 Derby 사용

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

Aaaand ... 나는 직감을했다 그것을 알아 냈어. 그래서, 다른 누군가가 내가 한 것과 같은 문제에 부딪 힐 경우에 대비하여 여기에 게시 할 것입니다.

거의 모든 문서는 내가 온라인으로 볼 더비에 대해 다음 database.yml 구성이 있습니다

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'에 유의하십시오.

답변

2

내 프로필에 빨간색 블록이 표시되는 것을 싫어하기 때문에 답을 보러 갈 것입니다.

임베디드 더비를 사용할 때 ActiveRecord-JDBC에도 미묘한 버그가 있습니다. 사용자 이름과 암호를주지 않으면 아무 효과가 없습니다. 이 버그의 원인을 추적하고 패치를 제출하기 위해 노력하고 있지만 동일한 문제가 발생하면 알려주고 여기에 코드를 게시합니다. 단지 표준 우분투 패키지와 내 DB 구성되어 사용 메신저 :

+0

+1 : 많은 도움을 받았습니다. – Rekin

0

는 내 우분투에, 나를 위해 9.04 상자를 괜찮 았는데 이상한

development: 
adapter: jdbc 
driver: org.apache.derby.jdbc.EmbeddedDriver 
url: jdbc:derby:[myapp];create=true 
0

ClientDriver는

0

또한 derbyclient.jar에 Don의 대답에 사용자 이름/암호없이 ClientDriver를 사용할 때이 오류가 발생했습니다. The driver encountered an error: java.sql.SQLNonTransientConnectionException: Password length (0) is outside the range of 1 to 255.

database.yml에서 사용자 이름/암호를 설정하면 문제가 해결되었습니다!

관련 문제