DatebaseOs函数:
require 'oci8'
=begin
require "yaml"
require 'pathname'
require 'DatebaseOs'
file_path=File.join(Pathname.new(File.dirname(__FILE__)).realpath,'yaml.yml')
open_file =File.open(file_path)
ruby_obj = YAML::load(open_file)
=end
=begin
' ** 函数名: connection_config()
' ** 输 入: host,port,user,password,server
' ** 功能描述: 数据库配置文函数
'host IP地址
'port 端口号
'user 用户名
'password 密码
'server 服务器地址
' ** 调用方法: connection_config(host,port,user,password,server)
' ** 创建人:
' ** 创建日期: 2009年11月13号
' ** 修改记录:
=end
def connection_config(host,port,user,password,server)
tnsnames = "(DESCRIPTION=(ADDRESS =(PROTOCOL = TCP)(HOST =#{host})(PORT = #{port}))(CONNECT_DATA = (#{server})))"
connection = OCI8.new(user, password, tnsnames)
end
=begin
' ** 函数名: open_connection()
' ** 输 入: host,port,user,password,server
' ** 功能描述: 数据库记录查询返回的是数组
'host IP地址
'port 端口号
'user 用户名
'password 密码
'server 服务器地址
' ** 调用方法: open_connection(host,port,user,password,server)
' ** 创建人:
' ** 创建日期: 2009年11月13号
' ** 修改记录:
=end
def open_connection(host,port,user,password,server)
connection = connection_config(host,port,user,password,server)
yield connection
connection.logoff
end
=begin
' ** 函数名: perform_query()
' ** 输 入: host,port,user,password,server
' ** 功能描述: 数据库字段查询返回的是数组
'host IP地址
'port 端口号
'user 用户名
'password 密码
'server 服务器地址
' ** 调用方法: perform_query(host,port,user,password,server)
' ** 创建人:
' ** 创建日期: 2009年11月13号
' ** 修改记录:
=end
def query_db_record(host,port,user,password,server)
a=[]
b=[]
open_connection(host,port,user,password,server) { |connection|
describe_table = connection.describe_table(@tablename)
$len =describe_table.num_cols
columns=describe_table.columns
connection.exec(@query) do |row|
row.each do |column| a<<column.to_s + "\t" end end
0.step(a.size-1,$len) do |i|
b<<a.values_at(i..i+($len-1)).to_s.split("\n") end
}
return b
end
=begin
' ** 函数名: query_db_single()
' ** 输 入: host,port,user,password,server
' ** 功能描述: 记录查询
'host IP地址
'port 端口号
'user 用户名
'password 密码
'server 服务器地址
' ** 调用方法: perform_query(host,port,user,password,server)
' ** 创建人:
' ** 创建日期: 2009年11月13号
' ** 修改记录:
=end
def query_db_single(host,port,user,password,server)
a=[]
b=[]
open_connection(host,port,user,password,server) { |connection|
describe_table = connection.describe_table(@tablename)
$len =describe_table.num_cols
columns=describe_table.columns
connection.exec(@query) do |row|
row.each do |column| a<<column.to_s + "\t" end end
0.step(a.size-1,1) do |i|
b<<a.values_at(i).to_s.split("\n") end
}
return b
end
OCI操作数据库
最新推荐文章于 2024-08-06 21:08:38 发布