Subject Re: [Firebird-Java] Accessing Firebird via Jaybird for LibreOffice, tables with more than 41 records won't open
Author Mark Rotteveel
On 5-3-2015 00:27, Keith Laten Williams klwilliams@...
[Firebird-Java] wrote:
> Hi, I'm not sure whether I have a configuration issue, a LibreOffice problem, or a Jaybird issue. Any insight you can provide will be appreciated. I created a test database, JDBCTEST.FDB and a LibreOffice .odb file which references it, jdbctest2.odb. Both files are available for download through my Dropbox account at the following URL:
>
> https://www.dropbox.com/sh/lrlqt2rnt37u1as/AAB5wqdz6c8oQs-JqXiiJ6oNa?dl=0
>
> Here are more details about my issue. The versions involved are: Jaybird 2.2.7 and LibreOffice 4.3.5.2 (running under Windows 8.1 Pro – 64-bit). I have with a production database running under both the same configuration as well as using LibreOffice 4.2.8.2 (running under Fedora Linux 20 – 64-bit).
>
> In my production database, after opening a form on a table with around 1100 records (Base shows "record 1 of 41*" - so I thought there might be something significant about this number, but I was unable to duplicate this problem in this test database), if I press the "Last Record" control button, I get an error message which says -- Error Message: The result set is closed. Pressing the "More" button yields the following additional information -- SQL Status: 07005.
>
> In this test database, the table “STREETS” will not open (nothing happens, there is no error message). There are 3 other tables each with a subset of the records in the STREETS table (which has 50 records):
>
> STREETS_40 (has 40 records, opens correctly)
>
> STREETS_41 (has 41 records, opens correctly)
>
> STREETS_42 (has 42 records, will not open)
>
> So there appears to be a problem which occurs when a table has more than 41 records.

I am able to reproduce this with LibreOffice base and your test
database. The cut off point of 41 seems related to how many records
LibreOffice itself caches.

Contrary to my expectations, the OpenOffice protocol implementation in
Jaybird doesn't use holdable resultsets by default. The fix is to
specify the connection property defaultHoldable=true in the connection
string.

I will see if I can change this in the next release of Jaybird.

Mark
--
Mark Rotteveel