我试图让工作JRuby和sqlite3的有以下宝石:JRuby和SQLite3的
bouncy-castle-java (1.5.0146.1)
bundler (1.3.2)
dbd-jdbc (0.1.6 java)
dbi (0.4.5)
deprecated (2.0.1)
jdbc-sqlite3 (3.7.2.1)
jruby-launcher (1.0.15 java)
jruby-openssl (0.8.2)
json (1.7.7 java)
rack (1.5.2)
rack-protection (1.4.0)
rake (10.0.3)
rubygems-bundler (1.1.1)
rvm (1.11.3.6)
sinatra (1.3.5)
sqlite3 (1.3.7)
tilt (1.3.5)
和验证码:
require 'java'
require 'dbi'
require 'dbd/Jdbc'
require 'jdbc/sqlite3'
dbh = DBI.connect(
"DBI:jdbc:sqlite:db.sqlite", # connection string
'', # no username for sqlite3
'', # no password for sqlite3
'driver' => 'org.sqlite.JDBC') # need to set the driver
但我有此错误:
DBI::InterfaceError: Unable to load driver 'jdbc' (underlying error: wrong constant name jdbc) load_driver at /home/gl/.rvm/gems/jruby-1.7.3/gems/dbi-0.4.5/lib/dbi.rb:300 mon_synchronize at /home/gl/.rvm/rubies/jruby-1.7.3/lib/ruby/1.9/monitor.rb:211 load_driver at /home/gl/.rvm/gems/jruby-1.7.3/gems/dbi-0.4.5/lib/dbi.rb:242 _get_full_driver at /home/gl/.rvm/gems/jruby-1.7.3/gems/dbi-0.4.5/lib/dbi.rb:160 connect at /home/gl/.rvm/gems/jruby-1.7.3/gems/dbi-0.4.5/lib/dbi.rb:145 (root) at srv.rb:6
你有想法吗?
我想把原始的sql查询。 – GlinesMome 2013-04-02 10:59:18
这并没有回答这个问题 - 为什么有人可能选择DBI而不是ActiveRecord,很多情况下直接访问数据库,而不是重量级的ORM抽象将是一个谨慎的选择。 – mistertim 2013-04-02 14:00:47
问题是“你有想法吗?”所以我提出了一个在类似情况下适用于我的想法。其他限制没有明确说明。 – Rob 2013-04-03 07:36:21