修改oracle.rb中的fetch_rows,原代碼:
def fetch_rows(sql)
execute(sql) do |cursor|
begin
@columns = cursor.get_col_names.map{|c| output_identifier(c)}
while r = cursor.fetch
row = {}
r.each_with_index {|v, i| row[@columns[i]] = v unless @columns[i] == :raw_rnum_}
yield row
end
ensure
cursor.close
end
end
self
end
修改后:
def fetch_rows(sql, &block)
execute(sql) do |cursor|
begin
@columns = cursor.get_col_names.map {|c| c.downcase.to_sym}
while r = cursor.fetch
row = {}
r.each_with_index do |v, i|
puts "CLASS: #{v.class}"
if v.class == OCI8::CLOB
puts "Caught CLOB!"
row[columns[i]] = v.read
else
row[columns[i]] = v unless columns[i] == :raw_rnum_
end
end
yield row
end
ensure
cursor.close
end
end
end