第一种方法:裸金属
require 'java' require 'rubygems' require "c:/ruby/jruby-1.2.0/lib/ojdbc14.jar" # should be redundant,but tried it anyway odriver = Java::JavaClass.for_name("oracle.jdbc.driver.OracleDriver") puts odriver.java_class url = "jdbc:oracle:thin:@myhost:1521:mydb" puts "About to connect..." con = java.sql.DriverManager.getConnection(url,"myuser","mypassword"); if con puts " connection good" else puts " connection Failed" end
以上结果是:
sqltest.rb:4: cannot load Java class oracle.jdbc.driver.OracleDriver (NameError)
第二种方法:积极记录
require 'rubygems' gem 'ActiveRecord-JDBC' require 'jdbc_adapter' require 'active_record' require 'active_record/version' require "c:/ruby/jruby-1.2.0/lib/ojdbc14.jar" # should be redundant... ActiveRecord::Base.establish_connection( :adapter => 'jdbc',:driver => 'oracle.jdbc.driver.OracleDriver',:url => 'jdbc:oracle:thin:@myhost:1521:mydb',:username=>'myuser',:password=>'mypassword' ) ActiveRecord::Base.connection.execute("SELECT * FROM mytable")
结果是:
C:/ruby/jruby-1.2.0/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.9.1/lib/active_recordconnection_adapters/jdbc_adapter.rb:330:in `initialize': The driver encountered an error: cannot load Java class oracle.jdbc.driver.OracleDriver (RuntimeError)
无论我怎么做,基本上都是同样的错误.
我正在使用JRuby 1.2.0,我的JRuby lib目录中有ojdbc14.jar
宝石:
> ActiveRecord-JDBC(0.5)
> activerecord-jdbc-adapter(0.9.1)
> activerecord(2.2.2)
我错过了什么?
谢谢,