先看一下ruby怎样连接oracle数据库:
class External < ActiveRecord::Base
self.abstract_class = true
establish_connection :wifi_rms
end
abstract_class 抽象类:抽象类是不允许实例化的类,因此一般它需要被进行扩展继承。
从establish_connection 进去可见:class ConnectionSpecification类
定义了这个连接查找方法:
def self.establish_connection(spec = nil)
case spec
when nil
raise AdapterNotSpecified unless defined? RAILS_ENV
establish_connection(RAILS_ENV)
when ConnectionSpecification
@@connection_handler.establish_connection(name, spec)
when Symbol, String
if configuration = configurations[spec.to_s]
establish_connection(configuration)
else
raise AdapterNotSpecified, "#{spec} database is not configured"
end
else
......
end
这里传入的是database.yml中配置的参数
wifi_rms:
adapter: oracle
database: (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = "your ip")(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = "your service")(SERVER = DEDICATED)))
username: name
password: password
encoding: utf8
host: host_ip
service: your_service
这样当你要调用oracle库关联的时候直接继承连接类即可实现类持久化到oracle数据库
class ConvenientReportMonth < External
#继承External类
#关联表设置
set_table_name "CONVENIENT_REPORTS_MONTH"
#表序列设置
set_sequence_name "seq_convenient_month_id"
end
最后要说一下的是:
由于rails生产模式下配置的是mysql数据库
development: &config
adapter: mysql
encoding: utf8
database: db_new
username: root
password: password
socket: /tmp/mysql.sock
host: your_ip
port: 3306
因此需要调用mysql库的时候只要集成
class Event < ActiveRecord::Base
#ActiveRecord::Base默认连接库为mysql
end
至此,实现了rails项目中mysql和oracle双库开发工作环境。
分享到:
相关推荐
在学习和使用Ruby on Rails的过程中,需要熟悉Ruby语言的语法、面向对象编程以及MVC架构设计。随着Rails的更新和迭代,它引入了许多现代Web开发的新特性,比如RESTful路由、AJAX集成和安全机制等,这些都为开发者...
例如,你可以创建一个Ruby类,封装数据库连接、MaxL会话和命令执行,然后在类的实例方法中调用Essbase的功能。 安装Ruby/MaxL时,通常需要将`maxl.so`库文件放置在Ruby的加载路径中,以便Ruby解释器能够找到并加载...
Java实现的FTP连接与数据浏览程序 1个目标文件 摘要:Java源码,网络相关,FTP Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 ...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
1. **多语言支持**: JDK 7增加了对动态语言的支持,引入了 invokedynamic 字节码指令,使得运行时可以灵活地绑定调用点选择器和方法句柄,为脚本语言如JavaScript、Ruby等提供了更好的集成平台。 2. **类型推断**: ...
这部分内容详细介绍了离堆存储的工作原理、优势以及如何配置和使用离堆存储的具体步骤。 #### 十、JDBC 缓存(JDBC Caching) 对于需要与数据库交互的应用程序,Ehcache支持通过JDBC接口来进行缓存操作。这部分内容...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
VirtualBox SDK 5.0.2-102096是Oracle公司为开发者提供的一套用于构建和扩展VirtualBox虚拟化平台的软件开发工具包。这个开发包允许程序员通过编程接口(API)来控制和定制VirtualBox的功能,实现虚拟机管理、自动化...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
例如,`ScriptEngineManager`可以用来创建和管理`ScriptEngine`实例,`Invocable`接口允许调用JavaScript函数,等等。 4. **ES6支持**:尽管Nashorn主要针对的是ES5标准,但它对部分ES6特性也有所支持,如箭头函数...