Sha256: 828a2330fae2ec1622b91a30b1eaf2ed6074534d744893398becbae334fb644b
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
module Treport class Db AdapterType={ Mysql: "mysql2", PostgreSQL: "postgresql", Sqlserver: "sqlserver", Oracle: "oracle" } def self.adapter_options [["Mysql", AdapterType[:Mysql]], ["PostgreSQL", AdapterType[:PostgreSQL]], ["Sqlserver", AdapterType[:Sqlserver]], ["Oracle", AdapterType[:Oracle]]] end def self.oracle_query(conectstr, sql) require 'ruby-oci8' result = [] conn = OCI8.new(conectstr[:username], conectstr[:password], "#{conectstr[:host]}:#{conectstr[:port]}/#{conectstr[:database]}") cursor = conn.parse(sql) cursor.exec while r = cursor.fetch_hash() r.each do |n, v| unless v r[n] = "其他" end end result << r end result end def self.mysql_query(conectstr, sql) result = [] Mysql2::Client.new(conectstr).query(sql).each do |r| result << r end result end def self.sqlserver_query(conectstr, sql) connstr = {} conectstr.each { |k, v| connstr[k.to_sym]=v } result = [] TinyTds::Client.new(connstr).execute(sql).each do |row| result << row end result end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
treport-0.2.0 | lib/treport/db.rb |
treport-0.1.0 | lib/treport/db.rb |