Subject Re: [Firebird-Java] Re: OpenOffice, Jaybird and Embedded Server
Author Mark Rotteveel
On 17-12-2011 9:53, certfb wrote:
> --- In, Roman Rokytskyy<roman@...> wrote:
>>>> There appears to be a separate driver plugin in Jaybird for
>>>> OpenOffice,
>>>> because OpenOffice (apparently) does some things wrong with
>>>> statements
>>>> and/or resultsets. This is however a variant of the pure-java driver
>>>> and
>>>> won't work with embedded.
>>>> I - unfortunately - think you are out of luck here.
>>> I am going to investigate this further, because a quick search does
>>> not
>>> turn up posts that other drivers have problems with this.
>> The issue is in autocommit mode - OO opens a result set and while
>> looping in the result set it tries to execute the statement. According
>> to the JDBC specs the result set has to be closed, which our driver
>> does. That is where OO crashes with SQLException.
>> The plugin provides workaround for this and it should work with all
>> driver types.
>> Roman
> Thank you for your time.
> I managed to get some limited success by copying all the embedded files to the OpenOffice program directory and appending the "?defaultHoldable" option to the connection string (although I have to admit I don't know what that does). This way I could insert new records, but not view them in table mode - only in a view or query.
> There used to be an option to insert 'oo' in the connection string...
> jdbc:firebirdsql:oo:localhost:c:/database/employee.fdb?defaultHoldable
> ...but I am not sure if this still exists and in any case it I don't think it can be combined with :embedded: which is a pity.
> Unfortunately though copying all the embedded files to the OpenOffice program directory stopped the internal HSQL db from working so I have had to remove them for now.

the :oo option still exists, but it uses the pure-java driver, so you
would not be able to use embedded.

The defaultHoldable option sets the default ResultSet holdability to
HOLD_CURSORS_OVER_COMMIT, which means that the resultset is not closed
at commit.
Mark Rotteveel