六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 28|回复: 0

Sequel访问Oracle CLOB

[复制链接]

升级  14%

66

主题

66

主题

66

主题

举人

Rank: 3Rank: 3

积分
242
 楼主| 发表于 2013-1-26 12:43:52 | 显示全部楼层 |阅读模式
修改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
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表