.NetVuser直接压数据库查询脚本
2012-07-02 15:34
281 查看
using System;
using System.Runtime.InteropServices;
using System.Data.SqlClient;
using System.Data;
namespace SqlLoadingTest
{
/// <summary>
/// Summary description for VuserClass.
/// </summary>
[ClassInterface(ClassInterfaceType.AutoDual)]
public class VuserClass
{
LoadRunner.LrApi lr;
string SqlServerIP = ".";//192.168.100.72服务器的名称
string SqlDataBaseName = "test";//待测试的数据库名称
string SqlLoginName = "sa";//登录用户名
string SqlPassword = "123456";//登录密码
/*
注意:如果是要并发查询的话,最好是将查询条件再进行参数化一下,以避免sql自动缓存的查询
*/
string Sql_Query_String = "select * from dbo.test";//用于测试的查询sql代码
public VuserClass()
{
// LoadRunner Standard API Interface :: DO NOT REMOVE!!!
lr = new LoadRunner.LrApi();
}
// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
public int Initialize()
{
// TO DO: Add virtual user's initialization routines
//定义查询字符串
//string sql_string = "";
return lr.PASS;
}
// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
public int Actions()
{
// TO DO: Add virtual user's business process actions
try
{
lr.start_transaction("登录到数据库并执行查询操作");
string sql_string = "Data Source=" + SqlServerIP + ";Initial Catalog=" + SqlDataBaseName + ";User ID=" + SqlLoginName + ";PassWord=" + SqlPassword;
SqlConnection sqlcon = new SqlConnection(sql_string);
sqlcon.Open();
//创建Sql命令
SqlCommand sqlcomd = new SqlCommand(Sql_Query_String);
//;
lr.rendezvous("一起查询");
//创建SQL数据适配器
SqlDataAdapter adpt = new SqlDataAdapter(sqlcomd.CommandText, sqlcon);
DataSet ds = new DataSet();
adpt.Fill(ds);
//返回行数
int count = ds.Tables[0].Rows.Count;
if (count > 0)
{
lr.end_transaction("登录到数据库并执行查询操作", lr.PASS);
lr.output_message("查询出来的行数为:" + count.ToString());
}
else
{
lr.end_transaction("登录到数据库并执行查询操作", lr.FAIL);
lr.output_message("查询出来的行数为:0" );
}
lr.output_message("用户ID为:"+lr.vuser_id.ToString());
sqlcon.Close();
lr.think_time(10);//每隔10s进行一次连接查询
return lr.PASS;
}
catch (Exception ex)
{
lr.output_message("出现致命错误:"+ DateTime.Now.ToString()+ ex.ToString());
return lr.FAIL;
}
}
// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
public int Terminate()
{
// TO DO: Add virtual user's termination routines
return lr.PASS;
}
}
}
2012-7-2
using System.Runtime.InteropServices;
using System.Data.SqlClient;
using System.Data;
namespace SqlLoadingTest
{
/// <summary>
/// Summary description for VuserClass.
/// </summary>
[ClassInterface(ClassInterfaceType.AutoDual)]
public class VuserClass
{
LoadRunner.LrApi lr;
string SqlServerIP = ".";//192.168.100.72服务器的名称
string SqlDataBaseName = "test";//待测试的数据库名称
string SqlLoginName = "sa";//登录用户名
string SqlPassword = "123456";//登录密码
/*
注意:如果是要并发查询的话,最好是将查询条件再进行参数化一下,以避免sql自动缓存的查询
*/
string Sql_Query_String = "select * from dbo.test";//用于测试的查询sql代码
public VuserClass()
{
// LoadRunner Standard API Interface :: DO NOT REMOVE!!!
lr = new LoadRunner.LrApi();
}
// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
public int Initialize()
{
// TO DO: Add virtual user's initialization routines
//定义查询字符串
//string sql_string = "";
return lr.PASS;
}
// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
public int Actions()
{
// TO DO: Add virtual user's business process actions
try
{
lr.start_transaction("登录到数据库并执行查询操作");
string sql_string = "Data Source=" + SqlServerIP + ";Initial Catalog=" + SqlDataBaseName + ";User ID=" + SqlLoginName + ";PassWord=" + SqlPassword;
SqlConnection sqlcon = new SqlConnection(sql_string);
sqlcon.Open();
//创建Sql命令
SqlCommand sqlcomd = new SqlCommand(Sql_Query_String);
//;
lr.rendezvous("一起查询");
//创建SQL数据适配器
SqlDataAdapter adpt = new SqlDataAdapter(sqlcomd.CommandText, sqlcon);
DataSet ds = new DataSet();
adpt.Fill(ds);
//返回行数
int count = ds.Tables[0].Rows.Count;
if (count > 0)
{
lr.end_transaction("登录到数据库并执行查询操作", lr.PASS);
lr.output_message("查询出来的行数为:" + count.ToString());
}
else
{
lr.end_transaction("登录到数据库并执行查询操作", lr.FAIL);
lr.output_message("查询出来的行数为:0" );
}
lr.output_message("用户ID为:"+lr.vuser_id.ToString());
sqlcon.Close();
lr.think_time(10);//每隔10s进行一次连接查询
return lr.PASS;
}
catch (Exception ex)
{
lr.output_message("出现致命错误:"+ DateTime.Now.ToString()+ ex.ToString());
return lr.FAIL;
}
}
// ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
public int Terminate()
{
// TO DO: Add virtual user's termination routines
return lr.PASS;
}
}
}
2012-7-2
相关文章推荐
- LR中java vuser直接连接数据库脚本
- 简单的ASP.net查询数据库脚本
- [VB.NET]请教:数据库逆向查询问题
- ADO.NET查询和操作数据库
- ASP.NET MVC的常用数据库查询和提取模式
- VB.net查询获取数据库数据信息
- VB.net 查询获取数据库数据信息
- idea 复制数据库查询结果,粘贴直接生成insert into 语句
- C#与mysql做ASP.NET网页数据库查询速度测试
- 百度地图PAI:查询自己的数据库在页面显示,点击其中任一行在地图标注 .net
- 脚本之查询客户端连接到数据库的连接数(或叫会话数)
- Python2.x 脚本批量串行select查询数据库,格式化输出到txt文件
- asp.net 直接 从数据库 下载 文件
- 直接附加数据库的批处理文件 和 执行sql 脚本的批处理文件的写法
- ASP.NET中DropDownList控件的简单使用--DDL绑定数据库表中值,选择DDL中值直接检索数据
- shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出
- Spring-JDBC:在使用JdbcTemplate进行条件查询时没有返回数据,但是sql直接在数据库中执行是有数据返回的。
- 直接在PHP中写数据库查询
- 查询数据库中进程死锁情况脚本。
- 人生第一个python脚本:从数据库查询数据并发送邮件