您的位置:首页 > 数据库

.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: