StormbringerX
Programmer
SQL Server 2005, Windows XP
A little background: My company does NOT have the server maintenance contract for this particular client. We do however provide all client software. Recently, the server was upgraded to Win2003 server and the SQL was upgraded from SQL Server 2000 to SQL Server 2005.
We access our SQL tables using ADO so we did not anticipate any problems with this upgrade, and there hasn't been any until now.
Basically, we allow the user to choose a Beginning and Ending Item number, we populate a listview based on their criteria, and once they press the Begin command button, we go down through the listview and for each listitem we then populate a recordset with all of that item's children. At that point, we Move First/Next through the recordset and for each child item found, we execute a stored procedure that recalculates it (using ADO Command). Once the recordset hits EOF, we close the recordset, and get the next parent in the listview.
This has worked well in the past. Its not as fast as dumping everything to the server and executing a stored procedure, but the user likes seeing little check marks appear on each listview item checkbox as it recalculates. *shrug*
But now, after the upgrade, it will execute approximately 4000 times, and then it will hit an SQL timeout error.
I realize that this isn't the quickest possible way to perform this action, however basically we are opening a connection, executing a small stored procedure, closing the connection, retrieving the next record, etc...
I have changed the adodb command.timeout property to no effect. Tried the same procedure from several clients and the behavior is consistent. Made certain that the tables have indexes and that the indexes are correct. I really don't know what else to do or check. Any suggestions would be greatly appreciated.
Thanks,
Dave
A little background: My company does NOT have the server maintenance contract for this particular client. We do however provide all client software. Recently, the server was upgraded to Win2003 server and the SQL was upgraded from SQL Server 2000 to SQL Server 2005.
We access our SQL tables using ADO so we did not anticipate any problems with this upgrade, and there hasn't been any until now.
Basically, we allow the user to choose a Beginning and Ending Item number, we populate a listview based on their criteria, and once they press the Begin command button, we go down through the listview and for each listitem we then populate a recordset with all of that item's children. At that point, we Move First/Next through the recordset and for each child item found, we execute a stored procedure that recalculates it (using ADO Command). Once the recordset hits EOF, we close the recordset, and get the next parent in the listview.
This has worked well in the past. Its not as fast as dumping everything to the server and executing a stored procedure, but the user likes seeing little check marks appear on each listview item checkbox as it recalculates. *shrug*
But now, after the upgrade, it will execute approximately 4000 times, and then it will hit an SQL timeout error.
I realize that this isn't the quickest possible way to perform this action, however basically we are opening a connection, executing a small stored procedure, closing the connection, retrieving the next record, etc...
I have changed the adodb command.timeout property to no effect. Tried the same procedure from several clients and the behavior is consistent. Made certain that the tables have indexes and that the indexes are correct. I really don't know what else to do or check. Any suggestions would be greatly appreciated.
Thanks,
Dave