NameError: неопределенная локальная переменная или метод `oracle 'при попытке зарегистрировать драйвер оракула в Ruby - PullRequest
0 голосов
/ 20 ноября 2011

У меня есть класс Ruby, я хочу поговорить с базой данных Oracle и хочу использовать Java-классы Oracle для этого.

Но когда я создаю экземпляр класса ниже, я получаю ошибку:

NameError: неопределенная локальная переменная или метод `oracle 'для Person: Class в строке DriverManager.register_driver

Если я закомментирую строки:

require 'lib/ojdbc6-11.1.0.7'
DriverManager.register_driver oracle.jdbc.OracleDriver.new

и раскомментируемстроки ниже (поэтому он использует Sybase jar) Я не получаю эту ошибку и могу подключиться к базе данных:

#require 'lib/jconn2'
#DriverManager.register_driver com.sybase.jdbc3.jdbc.SybDriver.new

SAMPLE CLASS:

require 'java'
require 'lib/ojdbc6-11.1.0.7'
#require 'lib/jconn2'

java_import java.sql.DriverManager
java_import java.sql.SQLException

class Person

DriverManager.register_driver oracle.jdbc.OracleDriver.new
#DriverManager.register_driver com.sybase.jdbc3.jdbc.SybDriver.new

def initialize(my_id)
@my_id = my_id
end
end

1 Ответ

0 голосов
/ 20 ноября 2011

Попробуйте использовать

DriverManager.registerDriver Java::oracle.jdbc.driver.OracleDriver.new
...