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

Version Path
flydata-0.8.10.2 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.10.1 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.9.11 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.10 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.9 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.8 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.7 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.6 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.5 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.4 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.3 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.2 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.1 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.8.0 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.7.19 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.7.18 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.7.17 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.7.16 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.7.15 flydata-core/lib/flydata-core/oracle/oracle_client.rb
flydata-0.7.14 flydata-core/lib/flydata-core/oracle/oracle_client.rb