Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Почему тормозит база данных?


Автор: IlyaIlin 2.1.2010, 12:40
При обращении 100 или более человек начинает выдавать ошибку "Cannot connect to database"
Код

System.Data.SqlClient.SqlConnection con;
    protected void Page_Load(object sender, System.EventArgs e)
    {
        string ConnectionString = @"Data Source=***.corp.parking.ru,1433;Initial Catalog=***-3;User ID=***-3;Password=*****";
        string table_name = "*****";

        //get parametrs
        int result = 0;
        if (int.TryParse(Request["byId"], out result))
        {
            RunQuery(ConnectionString, "SEL ECT * FR OM " + table_name + " WHERE Id = " + result.ToString());
        }
        else if (int.TryParse(Request["byCategoryId"], out result))
        {
            RunQuery(ConnectionString, "SEL ECT * FR OM " + table_name + " WH ERE CategoryId = " + result.ToString());
        }
        else
        {
            RunQuery(ConnectionString, "SELECT * FR OM " + table_name);
        }

    }


Далее делаю так:
Код

 void RunQuery(string connectionString, string query)
    {
        try
        {
            con = new System.Data.SqlClient.SqlConnection(connectionString);
            con.Open();
            Response.Write(GetPostcardsXML(query));//На этой строчке исключение возникнуть не может, т.к. в GetPostcardsXML() весь код в try{ ... } catch { ... }
        }
        catch (System.Exception err)
        {
            Response.Write("Cannot connect to DataBase.");
        }
    }


Автор: PashaPash 2.1.2010, 14:30
IlyaIlin, conn.Close?

Автор: IlyaIlin 2.1.2010, 15:32
PashaPash да да да) Нужно привыкать к Using. Я как подключил e.Message к сообщению, все сразу стало понятно. Переполнялся пул. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)