Pregunta

El intento de usar JRuby 1.2.0 y 2.3.2 rieles con una base de datos Derby incorporada. He copiado derbytools.jar y derby.jar a $RUBY_HOME/lib, sin embargo rake db:migrate sigue dando:

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

Aaaand ... jugué una corazonada y descubierto. Por lo tanto, voy a publicar esto aquí por si alguien se topa con el mismo problema que yo.

Casi toda la documentación que se encuentra en línea tiene la siguiente configuración database.yml para Derby:

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

Esto probablemente funciona bien para una configuración cliente / servidor, pero para una configuración de Derby incorporado debe esto:

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

Tenga en cuenta el 'EmbeddedDriver', y no 'ClientDriver'.

¿Fue útil?

Solución

El ir a contestar, porque me gusta ver que el bloque rojo en mi perfil.

También hay un error sutil en ActiveRecord-JDBC cuando utiliza Derby Embedded - si no lo das un nombre de usuario y una contraseña, nada funciona. He rastreado la causa de este error, y estoy trabajando en la presentación de un parche, pero si llegas a tener el mismo problema que yo, que me haga saber, y voy a publicar el código aquí.

Otros consejos

Extraño funcionó bien para mí, en mi ubuntu 9.04 caja: i M utilizando sólo los paquetes de Ubuntu estándar y la configuración de mi DB es:

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

El ClientDriver está en derbyclient.jar

con la respuesta de Don, que estaba recibiendo este error cuando se utiliza el ClientDriver sin un nombre de usuario / contraseña: The driver encountered an error: java.sql.SQLNonTransientConnectionException: Password length (0) is outside the range of 1 to 255.

Configuración de usuario / contraseña en database.yml solucionado el problema!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top