Wrox Home  
Search P2P Archive for: Go

  Return to Index  

activex_data_objects thread: Data retrieval gets interrupted before EOF reached; no errors occur


Message #1 by "lev Gurevich" <lev.gurevich@d...> on Mon, 1 Apr 2002 02:02:27
Hi everybody,

I've come across some weird behaviour of ADO 2.6 while retrieving data 
from Oracle 8. 

Connection is opened with the following parameters:
cursor location: adUseServer
cursor type: adOpenForwardOnly
lock type: adLockReadOnly

My code retrieves records from a recordset and writes them into a text 
file in a simple loop in VB6:
rs.MoveFirst
Do Until rs.EOF
...
rs.MoveNext
Loop

The recordset has just 2 fields but one of them is BLOB. What happens is 
that sometimes the retrieval gets interrupted and the code gets out of the 
loop before EOF is reached. No errors appeared, so I can find out about 
skipping the retrieval only by means of checking the amount of the records 
written into the text file.

The problem cannot be easily reproduced because the interruption occurs 
after getting different amount of data. For example, if the source data 
had 30,000 records, the interruption may occur after retrieving 8,000 or 
25,000 records. I suspect that some the issue is time-out-relevant but I 
don't know how I could fix it.

The issue doesn't occur if the recordset has no BLOB fields.

Any suggestions about the reason of the problem and possible fixes would 
be greatly appreciated.

Regards,
Lev Gurevich
Message #2 by Thomas Bellavia <TBellavia@V...> on Mon, 1 Apr 2002 11:19:59 -0500
Change the default timeout property in the server object to something
significantly longer.

-----Original Message-----
From: lev Gurevich [mailto:lev.gurevich@d...] 
Sent: Sunday, March 31, 2002 9:02 PM
To: ActiveX_Data_Objects
Subject: [activex_data_objects] Data retrieval gets interrupted before EOF
reached; no errors occur

Hi everybody,

I've come across some weird behaviour of ADO 2.6 while retrieving data 
from Oracle 8. 

Connection is opened with the following parameters:
cursor location: adUseServer
cursor type: adOpenForwardOnly
lock type: adLockReadOnly

My code retrieves records from a recordset and writes them into a text 
file in a simple loop in VB6:
rs.MoveFirst
Do Until rs.EOF
...
rs.MoveNext
Loop

The recordset has just 2 fields but one of them is BLOB. What happens is 
that sometimes the retrieval gets interrupted and the code gets out of the 
loop before EOF is reached. No errors appeared, so I can find out about 
skipping the retrieval only by means of checking the amount of the records 
written into the text file.

The problem cannot be easily reproduced because the interruption occurs 
after getting different amount of data. For example, if the source data 
had 30,000 records, the interruption may occur after retrieving 8,000 or 
25,000 records. I suspect that some the issue is time-out-relevant but I 
don't know how I could fix it.

The issue doesn't occur if the recordset has no BLOB fields.

Any suggestions about the reason of the problem and possible fixes would 
be greatly appreciated.

Regards,
Lev Gurevich
Message #3 by "lev Gurevich" <lev.gurevich@d...> on Mon, 1 Apr 2002 19:50:07
Could you please clarify what server object you mean? I can't find any 
Server object in the ADO object model, at least up to version 2.7.

Thanks,
Lev

> Change the default timeout property in the server object to something
significantly longer.

-----Original Message-----
From: lev Gurevich [mailto:lev.gurevich@d...] 
Sent: Sunday, March 31, 2002 9:02 PM
To: ActiveX_Data_Objects
Subject: [activex_data_objects] Data retrieval gets interrupted before EOF
reached; no errors occur

Hi everybody,

I've come across some weird behaviour of ADO 2.6 while retrieving data 
from Oracle 8. 

Connection is opened with the following parameters:
cursor location: adUseServer
cursor type: adOpenForwardOnly
lock type: adLockReadOnly

My code retrieves records from a recordset and writes them into a text 
file in a simple loop in VB6:
rs.MoveFirst
Do Until rs.EOF
...
rs.MoveNext
Loop

The recordset has just 2 fields but one of them is BLOB. What happens is 
that sometimes the retrieval gets interrupted and the code gets out of the 
loop before EOF is reached. No errors appeared, so I can find out about 
skipping the retrieval only by means of checking the amount of the records 
written into the text file.

The problem cannot be easily reproduced because the interruption occurs 
after getting different amount of data. For example, if the source data 
had 30,000 records, the interruption may occur after retrieving 8,000 or 
25,000 records. I suspect that the issue is time-out-relevant but I 
don't know how I could fix it.

The issue doesn't occur if the recordset has no BLOB fields.

Any suggestions about the reason of the problem and possible fixes would 
be greatly appreciated.

Regards,
Lev Gurevich

  Return to Index