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]