Sha256: d1a220f285631b419184d5bf0241467bc93fb5f023e0f253549411700b7e75db
Contents?: true
Size: 781 Bytes
Versions: 21
Compression:
Stored size: 781 Bytes
Contents
require 'oci8' require 'flydata-core/oracle/config' module FlydataCore module Oracle class OracleClient def initialize(dbconf) @dbconf = dbconf end attr_reader :dbconf def establish_connection @conn = create_connection if @conn.nil? end def query(query, params = {}) establish_connection cursor = @conn.parse(query) case params when Hash params.each {|k, value| cursor.bind_param(k, value) } when Array params.each.with_index(1) {|value, i| cursor.bind_param(i, value) } end cursor.exec cursor end def close if @conn @conn.logoff @conn = nil end end private def create_connection uri = FlydataCore::Oracle::Config.build_oci_uri(@dbconf) OCI8.new(uri) end end end end
Version data entries
21 entries across 21 versions & 1 rubygems