TheVampire
Programmer
I'm opening up a paradox 7.0 file that has about 115,000 records.
I can open the file and start looping through each record, but when I get to record #3276, the loop hangs on the RS.MoveNext command, and will sit and wait for about 10 seconds, then continue on.
It then stops at record #6552 ( which is 2* 3276 ) and waits again, this time even longer.
It continue to stop and wait at every record that is a multiple of 3276. Each time the waiting is about 10 seconds * the multiple ( 10 secs the first time, 20 the next, 30 the next, and so on... )
As you can imagine, this is pretty frustrating!
I've tried this using DAO, and ADO, and using RS.GetRows also. All of them give the same results. I've also used both types of cursors, set the DB to read only and forward only, and tried different cache sizes.
The database can be opened and read using the program that originally developed it ( using Delphi and Borland Database Engine ) and it reads all of the records in just a second or two, so I know the DB is not corrupted.
The only clue that I have is by turning on the SQL trace in the ODBC drivers section of the control panel, and running my program, the last part of the log ( just after the program hangs on record #3276 ) has a line that says "SQLExtendedFetch" and "SQLROWSETSIZE * 0x007FEE4C (3276)".
Any clues would be appreciated...
Robert
I can open the file and start looping through each record, but when I get to record #3276, the loop hangs on the RS.MoveNext command, and will sit and wait for about 10 seconds, then continue on.
It then stops at record #6552 ( which is 2* 3276 ) and waits again, this time even longer.
It continue to stop and wait at every record that is a multiple of 3276. Each time the waiting is about 10 seconds * the multiple ( 10 secs the first time, 20 the next, 30 the next, and so on... )
As you can imagine, this is pretty frustrating!
I've tried this using DAO, and ADO, and using RS.GetRows also. All of them give the same results. I've also used both types of cursors, set the DB to read only and forward only, and tried different cache sizes.
The database can be opened and read using the program that originally developed it ( using Delphi and Borland Database Engine ) and it reads all of the records in just a second or two, so I know the DB is not corrupted.
The only clue that I have is by turning on the SQL trace in the ODBC drivers section of the control panel, and running my program, the last part of the log ( just after the program hangs on record #3276 ) has a line that says "SQLExtendedFetch" and "SQLROWSETSIZE * 0x007FEE4C (3276)".
Any clues would be appreciated...
Robert