G
Guest
Hi, I have an ASP.NET website that crashes under heavy load.
I use a SQL Server DB. I get around 5500 hits per day. I keep getting the
timeout expieried connection pool error. Sometimes it even throws and error
about a DataReader connection being already open even though I only use Data
Sets in my code.
Please take a look and see if you can find my leak because I'm going nuts
here and am losing hope... I keep blaming the server and the server guys
blame my code.
All my methods look somewhat like these 2 right here:
System.Data.DataSet GetItems(int leagueID) {
System.Data.SqlClient.SqlConnection dbConnection =
(System.Data.SqlClient.SqlConnection)(Application["conn"]);
queryString="some select query";
System.Data.SqlClient.SqlCommand dbCommand = new
System.Data.SqlClient.SqlCommand();
dbCommand.CommandText = queryString;
dbCommand.Connection = dbConnection;
System.Data.IDataParameter dbParam_leagueID = new
System.Data.SqlClient.SqlParameter();
dbParam_leagueID.ParameterName = "@LeagueID";
dbParam_leagueID.Value = leagueID;
dbParam_leagueID.DbType = System.Data.DbType.Int32;
dbCommand.Parameters.Add(dbParam_leagueID);
System.Data.SqlClient.SqlDataAdapter dataAdapter = new
System.Data.SqlClient.SqlDataAdapter();
dataAdapter.SelectCommand = dbCommand;
System.Data.DataSet dataSet = new System.Data.DataSet();
try { dataAdapter.Fill(dataSet);}
finally { dbConnection.Close(); }
return dataSet;
}
int DDLMethod(int recordID) {
System.Data.SqlClient.SqlConnection dbConnection =
(System.Data.SqlClient.SqlConnection)(Application["conn"]);
string queryString = "some isert statment";
System.Data.SqlClient.SqlCommand dbCommand = new
System.Data.SqlClient.SqlCommand();
dbCommand.CommandText = queryString;
dbCommand.Connection = dbConnection;
System.Data.IDataParameter dbParam_recordID = new
System.Data.SqlClient.SqlParameter();
dbParam_recordID.ParameterName = "@RecordID";
dbParam_recordID.Value = recordID;
dbParam_recordID.DbType = System.Data.DbType.Int32;
dbCommand.Parameters.Add(dbParam_recordID);
int rowsAffected = 0;
dbConnection.Open();
try {
rowsAffected = dbCommand.ExecuteNonQuery();
}
finally {
dbConnection.Close();
}
return rowsAffected;
}
Please list all the possible reason you can see for a connection leak... any
help would be GREATLY appreciated....
I use a SQL Server DB. I get around 5500 hits per day. I keep getting the
timeout expieried connection pool error. Sometimes it even throws and error
about a DataReader connection being already open even though I only use Data
Sets in my code.
Please take a look and see if you can find my leak because I'm going nuts
here and am losing hope... I keep blaming the server and the server guys
blame my code.
All my methods look somewhat like these 2 right here:
System.Data.DataSet GetItems(int leagueID) {
System.Data.SqlClient.SqlConnection dbConnection =
(System.Data.SqlClient.SqlConnection)(Application["conn"]);
queryString="some select query";
System.Data.SqlClient.SqlCommand dbCommand = new
System.Data.SqlClient.SqlCommand();
dbCommand.CommandText = queryString;
dbCommand.Connection = dbConnection;
System.Data.IDataParameter dbParam_leagueID = new
System.Data.SqlClient.SqlParameter();
dbParam_leagueID.ParameterName = "@LeagueID";
dbParam_leagueID.Value = leagueID;
dbParam_leagueID.DbType = System.Data.DbType.Int32;
dbCommand.Parameters.Add(dbParam_leagueID);
System.Data.SqlClient.SqlDataAdapter dataAdapter = new
System.Data.SqlClient.SqlDataAdapter();
dataAdapter.SelectCommand = dbCommand;
System.Data.DataSet dataSet = new System.Data.DataSet();
try { dataAdapter.Fill(dataSet);}
finally { dbConnection.Close(); }
return dataSet;
}
int DDLMethod(int recordID) {
System.Data.SqlClient.SqlConnection dbConnection =
(System.Data.SqlClient.SqlConnection)(Application["conn"]);
string queryString = "some isert statment";
System.Data.SqlClient.SqlCommand dbCommand = new
System.Data.SqlClient.SqlCommand();
dbCommand.CommandText = queryString;
dbCommand.Connection = dbConnection;
System.Data.IDataParameter dbParam_recordID = new
System.Data.SqlClient.SqlParameter();
dbParam_recordID.ParameterName = "@RecordID";
dbParam_recordID.Value = recordID;
dbParam_recordID.DbType = System.Data.DbType.Int32;
dbCommand.Parameters.Add(dbParam_recordID);
int rowsAffected = 0;
dbConnection.Open();
try {
rowsAffected = dbCommand.ExecuteNonQuery();
}
finally {
dbConnection.Close();
}
return rowsAffected;
}
Please list all the possible reason you can see for a connection leak... any
help would be GREATLY appreciated....