Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NameError:尝试在Ruby中注册oracle驱动程序时未定义的局部变量或方法“oracle”_Ruby_Variables_Local_Undefined_Nameerror - Fatal编程技术网

NameError:尝试在Ruby中注册oracle驱动程序时未定义的局部变量或方法“oracle”

NameError:尝试在Ruby中注册oracle驱动程序时未定义的局部变量或方法“oracle”,ruby,variables,local,undefined,nameerror,Ruby,Variables,Local,Undefined,Nameerror,我有一个Ruby类,我想与oracle数据库对话,我想使用oracle java类来实现这一点 但是当我创建下面类的实例时,我得到了一个错误: NameError:Person:Class的未定义局部变量或方法“oracle” 排队 DriverManager.register\u驱动程序 如果我注释掉这些行: require 'lib/ojdbc6-11.1.0.7' DriverManager.register_driver oracle.jdbc.OracleDriver.new 并取消

我有一个Ruby类,我想与oracle数据库对话,我想使用oracle java类来实现这一点

但是当我创建下面类的实例时,我得到了一个错误:

NameError:Person:Class的未定义局部变量或方法“oracle” 排队 DriverManager.register\u驱动程序

如果我注释掉这些行:

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
示例类:

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
尝试使用

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

谢谢你把它整理好了。有趣的是,驱动程序启动com时不需要这样做。