Rails中直接使用OCI8的Connection

为了提高执行效率,希望能够跳过ActiveRecord的CRUD直接调用Oracle的PLSQL,于是开始寻找怎么在Rails里面直接调用OCI8的Connection对象。因为ActiveRecord肯定是使用OracleAdapter来进行连接的,OracleAdapter中使用的就是OCI8。为什么不直接使用OCI8.new呢?很显然这样会创建一个新的至Oracle的连接,浪费开销。 翻遍了activerecord-oracle-adapter的代码,干脆在OracleAdapter类中添加一个自定义的方法oci_connection解决问题: module ActiveRecord module ConnectionAdapters #:nodoc: class OracleAdapter < AbstractAdapter def exec(sql, *bindvars, &block) @connection.exec(sql, *bindvars, &block) end def oci_connection @connection [...]

你可能感兴趣的:(oracle,sql,ActiveRecord,Rails)