Help:
My customers have been having problems with data simply disappearing from a
btrieve database. The OS is wfw311 using btrieve client engine for windows,
v5.10. The database resides on the local c: drive with no remote clients
accessing the data. It appears like the most recently added, updated records
are those that sometimes disappear. Windows is not freezing in any way, no gpf
or other problems that would cause the app to exit abnormally without properly
closing the database file. The symptoms act as if btrieve thinks the
insert/update operation returns successfully, yet the changes were not
permanently commited to disk. I have also played with disabling 32 bit
file/disk access to see if windows was playing some caching games that were
causing the problems. This yielded nothing.
The btrieve options are:
OPTIONS=/m:64 /p:4096 /b:16 /f:20 /l:40 /n:12 /t:btrieve.trn
TASKS=12
Has anybody ever had a problem anything like this. I have already contacted
btrieve/pervasive tech support. they were unable to help me. I have also
upgraded one of the customers sites to 6.15 and this made no difference
either.
Thanks...
Kevin Shank, ksh...@galaxy.dscinet.com
I believe in 5.10 it is
WIN.INI
[Btrieve]
tracefile=<path>
where <path> is a full path and filename where a trace file will be created,
eg, c:\trace.out
In 6.15, I believe it is
BTI.INI
[Btrieve Client]
trace=yes
tracefile=<path>
After the application terminates, you can view the output file and verify
that the status code is indeed returning a status 0.
Regards,
Chris R Ojeda
Pervasive Software Inc
In article <NEWTNews.847317325.7813.kevin@gcs_npd1.dscinet.com>,
Kevin Shank <kevin@gcs_npd1.dscinet.com> wrote:
>
> Help:
> My customers have been having problems with data simply disappearing from a
> btrieve database.
...
> I have also upgraded one of the customers sites to 6.15 and this
> made no difference either.
>
-----------------------------------------------------------------------
This article was posted to Usenet via the Posting Service at Deja News:
http://www.dejanews.com/ [Search, Post, and Read Usenet News]
Thank you for your response. I have not actually used the trace feature as you
recommend, however the software is testing for a successful return code. If an
error occurs, a message box is displayed. The data is actually being
sucessfully written to the database. I know this because there are several
other applications(also which I wrote) which are used to read the database and
transmit this info to an external device (the application is a access
control/alarm monitoring system). This part operates properly. The symptoms
seem to indicate that all changes done to the database at a given session are
rolled back to their state before the changes were done, even though the
appliation and btrieve engine shut down properly. It is almost as if the
changes are cached but never make it to the disk. As I understand btrieve, if
a database is not properly closed or a system failure occurs, a preimage file
remains and the next time the file is opened, btrieve automatically restores
the database to its state before the failure.
This leads me some other questions about pre-imaging. When is the pre-image
file actually created and deleted? I have been unable to gather this from the
documentation. Is is created when a database is opened in a write mode or not
until an insert or update type of operation is actually requested? Is it
deleted as soon as the database is closed by all applications which have it
open or not until the btrieve engine actually shuts down?
In my applications, I am not using any user transactions. Most of the
operations are either open - insert - close or open - get - update - close or
just a series of open - get - get -...get - close. The database is not kept
open for any serious length of time. All the operations are quite simple and
straitforward. Given this, would you recommend I use the accelerated mode
which would eliminate the pre-imaging?
> > Help:
> > My customers have been having problems with data simply disappearing from
a btrieve database. ....