¿Cómo se accede a SQLite3 a través de JDBC sin usar el registro activo?¿Cómo inicializar el controlador SQLite3 JDBC en JRuby?
Respuesta
Instalar la gema JDBC-sqlite3
Luego, en el script jruby:
require 'jdbc/sqlite3'
url = "jdbc:sqlite:path.to.your.db"
begin
Java::org.sqlite.JDBC#initialize the driver
connection = JavaLang::DriverManager.getConnection(url) #grab your connection
rescue => error
#handle error
end
El archivo del controlador JDBC sqlite-3.5.8.jar
se copia en el directorio joya. Necesita ser copiado en el directorio jruby/lib. La aplicación también necesita reiniciarse.
El archivo del controlador se pueden descargar directamente desde aquí
http://files.zentus.com/sqlitejdbc/sqlitejdbc-v056.jar
http://www.zentus.com/sqlitejdbc/
He aquí un ejemplo que funciona con JRuby 1.6.6 (en Ruby 1.8 modo compat) con JDBC-sqlite3 3.7.2.
require 'rubygems'
require 'jdbc/sqlite3'
require 'java'
org.sqlite.JDBC # load the driver so DriverManager detects it
#Java::OrgSqlite::JDBC # alternate means of same
connection = java.sql.DriverManager.getConnection 'jdbc:sqlite:test.sqlite3'
begin
statement = connection.createStatement
begin
statement.executeUpdate("create table user (name varchar, pass varchar)")
statement.executeUpdate("insert into user values ('alice', 1234)")
statement.executeUpdate("insert into user values ('bob', 5678)")
statement.executeUpdate("insert into user values ('charlie', 'asdf')")
rs = statement.executeQuery("select * from user")
begin
puts "user\tpass"
while rs.next
puts ["#{rs.getString(1)}",
"#{rs.getString(2)}"].join("\t")
end
ensure
rs.close
end
ensure
statement.close
end
ensure
connection.close
end
Salida:
$ rm -f test.sqlite3; ruby sql.rb
user pass
------------
alice 1234
bob 5678
charlie asdf
Esta es una respuesta excepcionalmente útil. Pensé que señalaría, sin embargo, que tuve que ejecutar '' 'Jdbc :: SQLite3.load_driver''' antes de la línea' '' org.sqlite.JDBC''' para que esto funcione, probablemente debido a una cambiar en Jdbc desde que se publicó esta respuesta. – abhillman
- 1. No se puede instalar SQLITE3 con JRuby
- 2. Cómo conectarse a Oracle usando JRuby y JDBC
- 3. ¿Cómo habilitar el controlador PDO para sqlite3 en php?
- 4. sentencias SQL múltiples en QSqlQuery con el controlador sqlite3
- 5. ¿Para qué es el controlador jdbc "org.gjt.mm.mysql.Driver"?
- 6. Solr no puede encontrar el controlador JDBC
- 7. configuración NLS_LANG para el controlador JDBC delgado?
- 8. ¿Qué es el controlador Jdbc tipo 5
- 9. Redirigir desde el controlador Inicializar no funciona
- 10. Ruby no puede encontrar el controlador sqlite3 en Windows
- 11. Cómo conectar Android con MySQL usando el controlador Mysql JDBC
- 12. controlador JDBC para Java 7
- 13. controlador jdbc para google bigquery
- 14. Android JDBC no funciona: ClassNotFoundException en el controlador
- 15. jTDS controlador JDBC: getNString() lanza error
- 16. sqljdbc: JDBC sqljdbc.jar controlador Vs sqljdbc4.jar
- 17. Hibernate, controlador JDBC y problema OSGi
- 18. No se puede crear el controlador JDBC de la clase '' para conectar la URL 'nulo': Tomcat & SQL Server Controlador JDBC
- 19. oracle jdbc versión del controlador locura
- 20. Cómo utilizar un controlador JDBC desde una ubicación arbitraria
- 21. No puedo cargar el controlador JDBC para MySQL
- 22. JRuby - ¿Cómo iniciar el recolector de basura?
- 23. Spring jdbc: embedded-database no puede acceder al controlador jdbc en JBoss AS 7
- 24. cómo inicializar clase personalizada/objeto dentro del controlador usando Objective-C en el Iphone
- 25. controlador jdbc para Microsoft SQL Server CE (Edición Compacta) 3.5
- 26. ¿Qué hace realmente el método Statement.setFetchSize (nSize) en el controlador JDBC de SQL Server?
- 27. JRuby Performance
- 28. ¿Cómo agregar el controlador mysql JDBC a Eclipse para que SQL Explorer pueda usarlo?
- 29. ¿Cómo puedo usar el controlador MS JDBC con MS SQL Server 2008 Express?
- 30. ¿Cómo puedo conectarme a SQL Server usando seguridad integrada con el controlador JDBC?
me sale un error cuando trato de hacer esto: 'capitalizado paquete o la clase no encontrada (' java.org.sqlite.JDBC ') "' Cualquier sugerencia. Sería muy apreciado. Incluso si alguien pudiera decirme cómo averiguarlo. –
@duckyfuzz ¿Qué versiones de JRuby, etc. está usando? ¿Aparece jdbc-sqlite3 cuando ejecuta 'gem list'? Lo anterior funciona para mí sin errores siempre y cuando agregue 'require 'rubygems'' como la primera línea. Estoy usando jruby-1.6.4. –
@RobertHaines Usando 1.6.4. Tengo una clase con' import Java' en ella. los métodos en la clase usa el código de la respuesta anterior. Cuando intento ejecutarlo, ahora aparece el error: 'Java package' java 'no tiene un método' + ''. Estoy requiriendo rubygems y la gema está instalada correctamente. –