如何使用JRuby和JDBC连接到Oracle

前端之家收集整理的这篇文章主要介绍了如何使用JRuby和JDBC连接到Oracle前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
第一种方法:裸金属
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)

我错过了什么?

谢谢,

解决方法

事实证明我的ojdbc14.jar文件已损坏.

此外,jar文件必须位于jruby / lib目录中.简单地在类路径上使用它是行不通的.

原文链接:https://www.f2er.com/ruby/267316.html

猜你在找的Ruby相关文章