Subject Re: How to set forced writes?
Author henry FRANQUET
--- In IBObjects@yahoogroups.com, Helen Borrie <helebor@...> wrote:
>
> At 12:22 PM 1/07/2008, Calin Pirtea wrote:
> >Hi Tiago,
> >
> >You can set forced writes programmatically using IBO if:
> >1) Set the TIB_connection.ForcedWrites to True BEFORE you connect
to the database.
> >2) Connect to the database. Now the property will become read only
however the database itself has forced writes turned on.
> >
> >Same applies if you want to reset the Forced Writes.
>
> Oops, Calin, it is true - and it is not meant to be.
>
> From ODS 10 onward, actions that change the header attributes of
databases were meant to be accessed only through a SPB (Service
Parameter Block), deprecating the old (and dangerous) situation that
allows any user to do it through "any old DPB". Some of the old
parameters became a bit flaky...but this one is alive and kicking. Oh
dear, oh dear!
>
> Worse still, Firebird 2 and higher (ODS 11 and above) were meant to
make this possible ONLY through a SPB, i.e. the honeymoon was meant to
be over.
>
> But in fact *any user* can still change the write mode through the
old API DPB and, hence, can still put the database into a state where
FW is switched on or off whilst there are active attachments. Tested
with both Fb 1.5.5 and 2.0.4. (Not tested with 2.1.x yet, but I have
that sinking feeling that it might still be slipping beneath the QA
radar....)
>
> But - PLEASE DON'T WRITE APPS THAT DO IT!
Hi
I wish I should !
I have an replication app which I wrote using IBO DataPump and I
populate a new database with only data belonging to the user. In some
case (depending of the Win2003 server's parameters) It takes a long
time to populate the database, and I wondered if creating the new
database with Forced Write OFF would be a good idea ? The database is
only accessed by my app and closed afterwards

thanks