Hello,
for answering your questions I will need some more information about your application. 
Maybe you can send me a JDBC-trace and also a vtrace.
http://sapdb.2scale.net/moin.cgi/JdbcTrace
http://sapdb.2scale.net/moin.cgi/VTrace

Like you have already notice the driver will fetch the resultset in chunks. For 
getting the next chunk it sends a fetch comands to the database kernel while you are 
iterating thru the resultset. Normally the exception you got will be thrown if one of 
the internal fetch command failed. For find out the reason I will need the vtrace.

In general the driver is thread safe, but we don't recommend to use the same 
connection from more than one thread at the same time, because of the side effects. 
For example two threads set the same paramaters for one prepared statement or one 
thread changes the connection properties (isolation level autocommit mode etc.) and 
the other uses this changes implicit afterwards. 

regards,
Marco
----------------------------------------------
Marco PASKAMP
SAP Labs Berlin

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Dienstag, 21. Oktober 2003 16:58
> To: [EMAIL PROTECTED]
> Subject: Help with JDBC error: Fetch operation delivered no data part.
> 
> 
> I receive the following error message while using JDBC in my program:
> 
>     SAP DBTech JDBC: Fetch operation delivered no data part.
> 
> I am using SAP-DB 7.4, and I get the error even after 
> re-dowloading the
> latest JDBC driver.
> 
> My application is multithreaded and I have two threads 
> sharing the same
> JDBC connection, which I really, really would like to keep on doing.
> 
> One thread reads from a ResultSet, and the other thread inserts into a
> different table. 
> 
> In writing to the table, batches are used. I have been able to find a
> work-around in that if I set the batch size to be small, like 
> 10, the error
> seems to go away, but it does occur with higher numbers like 
> 100. The lower
> batch size affects performance, though.
> 
> I also tried monkeying with setFetchSize(), trying to attack 
> the problem
> from the querying end of things as well. It still causes the error to
> occur, but it happens after a different number processed 
> rows, depending on
> how I set it.
> 
> Is the JDBC driver thread-safe? Are there any work-arounds 
> for this? Unlike
> some other JDBC drivers, the thing I like about SAP-DB's is 
> that it does
> not try and populate the entire ResultSet when querying, and 
> just fetches
> more data behind the scenes as more data is needed.  So, my 
> guess here is
> that something is happening internally when the fetch occurs that
> interferes with the the inserts going on in the other thread. 
> Modifying the
> fetch sizes above perhaps just affects the probability of 
> this cropping up.
> 
> Any help would be greatly appreciated... and I would be happy 
> to help beta
> test any changes to the driver. :-)
> 
> 
> -- 
> MaxDB Discussion Mailing List
> For list archives: http://lists.mysql.com/maxdb
> To unsubscribe:    
> http://lists.mysql.com/[EMAIL PROTECTED]
> 

-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to