Module: SQLActionHelper

Defined in:
lib/action/module/sql_action.rb

Instance Method Summary collapse

Instance Method Details

#sql_send(host = HOST, port = PORT, user = USER, password = PASSWORD, database, sqltxt) ⇒ Object

功能:

发送sql请求

参数解释:

  • host 机器名或ip

  • port 端口

  • user 用户名

  • password 密码

  • database 数据库名字

  • sqltxt sql语句

注意:

需要注意的是在访问之前需要保证使用的用户和密码具有远程访问的权限

Example:

sql_send “space”, “show tables;”

检查的方法:

assert_body “正则式”



26
27
28
29
30
31
32
33
34
# File 'lib/action/module/sql_action.rb', line 26

def sql_send(host=HOST, port=PORT, user=USER, password=PASSWORD, database, sqltxt)
	toolspath = TOOL_ROOT
	cmdtxt="cd #{toolspath}; ./mysql -h #{host} -P#{port} -u#{user} -p#{password} \"#{database}\" -e \"#{sqltxt}\""
	ret=`#{cmdtxt}`
	Context.set("IOBODY", ret)
	puts cmdtxt
	$log.debug cmdtxt
	$log.debug Context.get("IOBODY")
end

#sql_send_arr(host = HOST, port = PORT, user = USER, password = PASSWORD, database, sqltxt) ⇒ Object

功能:

发送sql请求

参数解释:

  • host 机器名或ip

  • port 端口

  • user 用户名

  • password 密码

  • database 数据库名字

  • sqltxt sql语句

注意:

需要注意的是在访问之前需要保证使用的用户和密码具有远程访问的权限

Example:

sql_send_arr “space”, “show tables;”

返回值:

以二维数组格式返回



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/action/module/sql_action.rb', line 58

def sql_send_arr(host=HOST, port=PORT, user=USER, password=PASSWORD, database, sqltxt)
		toolspath = TOOL_ROOT
		if password.size !=0
			cmdtxt="cd #{toolspath}; ./mysql -h #{host} -P#{port} -u#{user} -p#{password} \"#{database}\" -e \"#{sqltxt}\""	
		else
			cmdtxt="cd #{toolspath}; ./mysql -h #{host} -P#{port} -u#{user} \"#{database}\" -e \"#{sqltxt}\""
		end
		#puts cmdtxt
        ret=`#{cmdtxt}`
		arr = []
		i = 0
		ret.each_line do |line|
			arr[i] = line.split
			i = i + 1
		end
        $log.debug cmdtxt
        $log.debug arr
		return arr
end