gpt4 book ai didi

oracle - 如何使用JRuby和JDBC连接到Oracle

转载 作者:行者123 更新时间:2023-12-04 13:35:49 24 4
gpt4 key购买 nike

第一种方法:裸机

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)

第二种方法: Activity 记录
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

gem :
  • ActiveRecord-JDBC(0.5)
  • activerecord-jdbc-adapter(0.9.1)
  • activerecord(2.2.2)

  • 我想念什么?

    谢谢,

    最佳答案

    原来我的ojdbc14.jar文件已损坏。

    此外,jar文件必须位于jruby/lib目录中。简单地将其放在类路径上是行不通的。

    关于oracle - 如何使用JRuby和JDBC连接到Oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/755207/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com