Timeout on populating a datagrid

P

Paul

I sometimes get a timeout error when populating my datagrid,

the code is
WizardConnection.Open()

UpdateCommand.CommandText = "EXECUTE sp_assign_user '" &
PhysOffice.SelectedValue & "', '" & Context.User.Identity.Name & "'"

UpdateCommand.ExecuteNonQuery()

WizardConnection.Close()


Any suggestions?
Thanks
Paul

The error is :


Server Error in '/EmpLinkage' Application.


Timeout expired
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Timeout expired

Source Error:

An unhandled exception was generated during the execution of the current web
request. Information regarding the origin and location of the exception can
be identified using the exception stack trace below.

Stack Trace:

[OleDbException (0x80040e31): Timeout expired]
System.Data.OleDb.OleDbDataReader.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbDataReader.NextResult()
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior
behavior, String method)
System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)

System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandB
ehavior behavior)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
EmpLinkage.WebForm1.datagrid() in
\\sta2wd08\wwwroot$\EmpLinkage\WebForm1.aspx.vb:183
EmpLinkage.WebForm1.GOButton_Click(Object sender, EventArgs e) in
\\sta2wd08\wwwroot$\EmpLinkage\WebForm1.aspx.vb:261
System.Web.UI.WebControls.Button.OnClick(EventArgs e)

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePo
stBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
 
S

Scott Allen

Hi Paul:

It doens't look like the problem is DataGrid related, but in the
stored procedure you use to update a record in the database.

I'd review the stored procedure SQL in a query tool and see how long
the query is taking. Perhaps the stored procedure is trying to update
a record in a large table and does not have an index available to find
the record quickly.

HTH,
 
P

Paul

The sproc is reading not updating any database, depending upon the selection
criteria the sproc can take upto 30 seconds to complete, but asp.net doesn't
seem to want to wait that long.

Thanks


Scott Allen said:
Hi Paul:

It doens't look like the problem is DataGrid related, but in the
stored procedure you use to update a record in the database.

I'd review the stored procedure SQL in a query tool and see how long
the query is taking. Perhaps the stored procedure is trying to update
a record in a large table and does not have an index available to find
the record quickly.

HTH,

--
Scott
http://www.OdeToCode.com

I sometimes get a timeout error when populating my datagrid,

the code is
WizardConnection.Open()

UpdateCommand.CommandText = "EXECUTE sp_assign_user '" &
PhysOffice.SelectedValue & "', '" & Context.User.Identity.Name & "'"

UpdateCommand.ExecuteNonQuery()

WizardConnection.Close()


Any suggestions?
Thanks
Paul

The error is :


Server Error in '/EmpLinkage' Application.


Timeout expired
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Timeout expired

Source Error:

An unhandled exception was generated during the execution of the current web
request. Information regarding the origin and location of the exception can
be identified using the exception stack trace below.

Stack Trace:

[OleDbException (0x80040e31): Timeout expired]
System.Data.OleDb.OleDbDataReader.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbDataReader.NextResult()
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior
behavior, String method)
System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)

System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(Command
B
ehavior behavior)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
EmpLinkage.WebForm1.datagrid() in
\\sta2wd08\wwwroot$\EmpLinkage\WebForm1.aspx.vb:183
EmpLinkage.WebForm1.GOButton_Click(Object sender, EventArgs e) in
\\sta2wd08\wwwroot$\EmpLinkage\WebForm1.aspx.vb:261
System.Web.UI.WebControls.Button.OnClick(EventArgs e)

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaiseP
o
stBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
 
P

Patrice

You could set a longer timeout but that's already quite long. I would check
first if it makes sense it take so much time. How many records are returned
?


Paul said:
The sproc is reading not updating any database, depending upon the selection
criteria the sproc can take upto 30 seconds to complete, but asp.net doesn't
seem to want to wait that long.

Thanks


Scott Allen said:
Hi Paul:

It doens't look like the problem is DataGrid related, but in the
stored procedure you use to update a record in the database.

I'd review the stored procedure SQL in a query tool and see how long
the query is taking. Perhaps the stored procedure is trying to update
a record in a large table and does not have an index available to find
the record quickly.

HTH,
current
web
request. Information regarding the origin and location of the exception can
be identified using the exception stack trace below.

Stack Trace:

[OleDbException (0x80040e31): Timeout expired]
System.Data.OleDb.OleDbDataReader.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbDataReader.NextResult()
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior
behavior, String method)
System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)

System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(Command
B
ehavior behavior)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
EmpLinkage.WebForm1.datagrid() in
\\sta2wd08\wwwroot$\EmpLinkage\WebForm1.aspx.vb:183
EmpLinkage.WebForm1.GOButton_Click(Object sender, EventArgs e) in
\\sta2wd08\wwwroot$\EmpLinkage\WebForm1.aspx.vb:261
System.Web.UI.WebControls.Button.OnClick(EventArgs e)

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaiseP
o
stBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
 
S

Scott Allen

Hi Paul:

Sorry for the confusion, the source code you posted shows
ExecuteNonQuery, but the stack trace shows the exception occurs on a
Fill method.

The CommandTimeout property of an OleDbCommand object defaults to 30
seconds. Seems possible it could occasionally be going over.


One approach would be to look at ways to speed up the query, and
check for locking and blocks in the database. Another approach would
be to bump the CommandTimeout property up to a number where the query
can always safely complete.

--s

The sproc is reading not updating any database, depending upon the selection
criteria the sproc can take upto 30 seconds to complete, but asp.net doesn't
seem to want to wait that long.

Thanks


Scott Allen said:
Hi Paul:

It doens't look like the problem is DataGrid related, but in the
stored procedure you use to update a record in the database.

I'd review the stored procedure SQL in a query tool and see how long
the query is taking. Perhaps the stored procedure is trying to update
a record in a large table and does not have an index available to find
the record quickly.

HTH,

--
Scott
http://www.OdeToCode.com

I sometimes get a timeout error when populating my datagrid,

the code is
WizardConnection.Open()

UpdateCommand.CommandText = "EXECUTE sp_assign_user '" &
PhysOffice.SelectedValue & "', '" & Context.User.Identity.Name & "'"

UpdateCommand.ExecuteNonQuery()

WizardConnection.Close()


Any suggestions?
Thanks
Paul

The error is :


Server Error in '/EmpLinkage' Application.


Timeout expired
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Timeout expired

Source Error:

An unhandled exception was generated during the execution of the current web
request. Information regarding the origin and location of the exception can
be identified using the exception stack trace below.

Stack Trace:

[OleDbException (0x80040e31): Timeout expired]
System.Data.OleDb.OleDbDataReader.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbDataReader.NextResult()
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior
behavior, String method)
System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)

System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(Command
B
ehavior behavior)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32
startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord,
Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior
behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
EmpLinkage.WebForm1.datagrid() in
\\sta2wd08\wwwroot$\EmpLinkage\WebForm1.aspx.vb:183
EmpLinkage.WebForm1.GOButton_Click(Object sender, EventArgs e) in
\\sta2wd08\wwwroot$\EmpLinkage\WebForm1.aspx.vb:261
System.Web.UI.WebControls.Button.OnClick(EventArgs e)

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaiseP
o
stBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,773
Messages
2,569,594
Members
45,119
Latest member
IrmaNorcro
Top