Group:  Microsoft Access ยป microsoft.public.access.odbcclientsvr
Thread: Flushing the JET - OLEDB

DotNetBag
.NET Development Newsgroups

HTVi
TV Discussion Newsgroups

Our Hot Pick: Rising Antivirus 2006 - Certified by TUV & Checkmark! Get 10% discount by entering this coupon code: ONDISCOUNT10
Rising Antivirus 2006

Flushing the JET - OLEDB
"Erik Visser" <evisser[ at ]wilg.nl> 06.09.2006 06:45:55
In one of my apps i use an access database via OLEDB and that goes well at
many
customers sites but not on one. There the problem is that sometmes added
rows disapear after closing the programm and restarting. The jet file is on
the network, the app too and there is only one user.
And ofcourse the problem cannot be reproduced.
I have told them to update the Jet and MDAC drivers and the Netware client
and to disable all kind of cache.
Now i wonder, is there a way to force to write to the file (more than a
commit transaction) ?

tia,

Erik


Re: Flushing the JET - OLEDB
Stefan Hoffmann <stefan.hoffmann[ at ]explido.de> 06.09.2006 08:13:32
hi Erik,

Erik Visser wrote:
[Quoted Text]
> I have told them to update the Jet and MDAC drivers and the Netware client
> and to disable all kind of cache.
Is the Netware file cache activated? This can be the source of your lost
data.

mfG
--> stefan <--

Re: Flushing the JET - OLEDB
<david[ at ]epsomdotcomdotau> 07.09.2006 12:27:02
[Quoted Text]
> Now i wonder, is there a way to force to write to the file (more than a

If you are using transactions, you can try dbFlushOSCacheWrites.
If not, you could try a dummy transaction with dbFlushOSCacheWrites.

Other than turning off caching, there is no easy way to force write
to disk. Jet used to automatically write through to disk, but that
feature of Win 3.1/DOS 6 was disabled in Win95 when the disk
cache was rewritten and replaced. I think that dbFlushOSCacheWrites
used an API that forces the entire disk cache to flush, (perhaps that has
changed?' and I don't know what affect if any it will have on a network
cache and remote file system.

(david)


"Erik Visser" <evisser[ at ]wilg.nl> wrote in message
news:eFJvHBY0GHA.4932[ at ]TK2MSFTNGP02.phx.gbl...
> In one of my apps i use an access database via OLEDB and that goes well
at
> many
> customers sites but not on one. There the problem is that sometmes added
> rows disapear after closing the programm and restarting. The jet file is
on
> the network, the app too and there is only one user.
> And ofcourse the problem cannot be reproduced.
> I have told them to update the Jet and MDAC drivers and the Netware client
> and to disable all kind of cache.
> Now i wonder, is there a way to force to write to the file (more than a
> commit transaction) ?
>
> tia,
>
> Erik
>
>


Re: Flushing the JET - OLEDB
"Erik Visser" <evisser[ at ]wilg.nl> 12.09.2006 10:19:28
David,
Thans for your answer.
AFAIK dbFlushOSCacheWrites is only available within (Access) VBA and not via
Ado/OleDB
regards,

Erik

<david[ at ]epsomdotcomdotau> schreef in bericht
news:uqy6Con0GHA.2516[ at ]TK2MSFTNGP06.phx.gbl...
[Quoted Text]
>> Now i wonder, is there a way to force to write to the file (more than a
>
> If you are using transactions, you can try dbFlushOSCacheWrites.
> If not, you could try a dummy transaction with dbFlushOSCacheWrites.
>
> Other than turning off caching, there is no easy way to force write
> to disk. Jet used to automatically write through to disk, but that
> feature of Win 3.1/DOS 6 was disabled in Win95 when the disk
> cache was rewritten and replaced. I think that dbFlushOSCacheWrites
> used an API that forces the entire disk cache to flush, (perhaps that has
> changed?' and I don't know what affect if any it will have on a network
> cache and remote file system.
>
> (david)
>
>
> "Erik Visser" <evisser[ at ]wilg.nl> wrote in message
> news:eFJvHBY0GHA.4932[ at ]TK2MSFTNGP02.phx.gbl...
>> In one of my apps i use an access database via OLEDB and that goes well
> at
>> many
>> customers sites but not on one. There the problem is that sometmes added
>> rows disapear after closing the programm and restarting. The jet file is
> on
>> the network, the app too and there is only one user.
>> And ofcourse the problem cannot be reproduced.
>> I have told them to update the Jet and MDAC drivers and the Netware
>> client
>> and to disable all kind of cache.
>> Now i wonder, is there a way to force to write to the file (more than a
>> commit transaction) ?
>>
>> tia,
>>
>> Erik
>>
>>
>
>


Re: Flushing the JET - OLEDB
<david[ at ]epsomdotcomdotau> 12.09.2006 10:50:15
Flush OS Cache Writes is a Windows API, called by the jet
engine, and the named constant dbFlushOSCacheWrites
is a DAO named constant.

I don't know what platform you are using, but I assume that
you can call the windows API. I'm not familiar with the Windows
File System API. so I can't help you any further there.

I agree that creating a DAO object just to call a Windows
File System API would probably not be the right way to
do it. If ADO transactions don't have a similar property,
I guess you should be asking in a Windows API newsgroup.

(david)



"Erik Visser" <evisser[ at ]wilg.nl> wrote in message
news:eum4eUl1GHA.3464[ at ]TK2MSFTNGP03.phx.gbl...
[Quoted Text]
> David,
> Thans for your answer.
> AFAIK dbFlushOSCacheWrites is only available within (Access) VBA and not
via
> Ado/OleDB
> regards,
>
> Erik
>
> <david[ at ]epsomdotcomdotau> schreef in bericht
> news:uqy6Con0GHA.2516[ at ]TK2MSFTNGP06.phx.gbl...
> >> Now i wonder, is there a way to force to write to the file (more than a
> >
> > If you are using transactions, you can try dbFlushOSCacheWrites.
> > If not, you could try a dummy transaction with dbFlushOSCacheWrites.
> >
> > Other than turning off caching, there is no easy way to force write
> > to disk. Jet used to automatically write through to disk, but that
> > feature of Win 3.1/DOS 6 was disabled in Win95 when the disk
> > cache was rewritten and replaced. I think that dbFlushOSCacheWrites
> > used an API that forces the entire disk cache to flush, (perhaps that
has
> > changed?' and I don't know what affect if any it will have on a network
> > cache and remote file system.
> >
> > (david)
> >
> >
> > "Erik Visser" <evisser[ at ]wilg.nl> wrote in message
> > news:eFJvHBY0GHA.4932[ at ]TK2MSFTNGP02.phx.gbl...
> >> In one of my apps i use an access database via OLEDB and that goes
well
> > at
> >> many
> >> customers sites but not on one. There the problem is that sometmes
added
> >> rows disapear after closing the programm and restarting. The jet file
is
> > on
> >> the network, the app too and there is only one user.
> >> And ofcourse the problem cannot be reproduced.
> >> I have told them to update the Jet and MDAC drivers and the Netware
> >> client
> >> and to disable all kind of cache.
> >> Now i wonder, is there a way to force to write to the file (more than a
> >> commit transaction) ?
> >>
> >> tia,
> >>
> >> Erik
> >>
> >>
> >
> >
>
>


Re: Flushing the JET - OLEDB
"Erik Visser" <evisser[ at ]wilg.nl> 19.09.2006 13:43:56
Hi David,
I am sorry, but there is not a Win32 API function FlushOSCacheWrites.
I guess you mean: FlushFileBuffers() ?


Erik
<david[ at ]epsomdotcomdotau> schreef in bericht
news:%237D87nl1GHA.4176[ at ]TK2MSFTNGP06.phx.gbl...
[Quoted Text]
> Flush OS Cache Writes is a Windows API, called by the jet
> engine, and the named constant dbFlushOSCacheWrites
> is a DAO named constant.
>
> I don't know what platform you are using, but I assume that
> you can call the windows API. I'm not familiar with the Windows
> File System API. so I can't help you any further there.
>
> I agree that creating a DAO object just to call a Windows
> File System API would probably not be the right way to
> do it. If ADO transactions don't have a similar property,
> I guess you should be asking in a Windows API newsgroup.
>
> (david)
>
>
>
> "Erik Visser" <evisser[ at ]wilg.nl> wrote in message
> news:eum4eUl1GHA.3464[ at ]TK2MSFTNGP03.phx.gbl...
>> David,
>> Thans for your answer.
>> AFAIK dbFlushOSCacheWrites is only available within (Access) VBA and not
> via
>> Ado/OleDB
>> regards,
>>
>> Erik
>>
>> <david[ at ]epsomdotcomdotau> schreef in bericht
>> news:uqy6Con0GHA.2516[ at ]TK2MSFTNGP06.phx.gbl...
>> >> Now i wonder, is there a way to force to write to the file (more than
>> >> a
>> >
>> > If you are using transactions, you can try dbFlushOSCacheWrites.
>> > If not, you could try a dummy transaction with dbFlushOSCacheWrites.
>> >
>> > Other than turning off caching, there is no easy way to force write
>> > to disk. Jet used to automatically write through to disk, but that
>> > feature of Win 3.1/DOS 6 was disabled in Win95 when the disk
>> > cache was rewritten and replaced. I think that dbFlushOSCacheWrites
>> > used an API that forces the entire disk cache to flush, (perhaps that
> has
>> > changed?' and I don't know what affect if any it will have on a network
>> > cache and remote file system.
>> >
>> > (david)
>> >
>> >
>> > "Erik Visser" <evisser[ at ]wilg.nl> wrote in message
>> > news:eFJvHBY0GHA.4932[ at ]TK2MSFTNGP02.phx.gbl...
>> >> In one of my apps i use an access database via OLEDB and that goes
> well
>> > at
>> >> many
>> >> customers sites but not on one. There the problem is that sometmes
> added
>> >> rows disapear after closing the programm and restarting. The jet file
> is
>> > on
>> >> the network, the app too and there is only one user.
>> >> And ofcourse the problem cannot be reproduced.
>> >> I have told them to update the Jet and MDAC drivers and the Netware
>> >> client
>> >> and to disable all kind of cache.
>> >> Now i wonder, is there a way to force to write to the file (more than
>> >> a
>> >> commit transaction) ?
>> >>
>> >> tia,
>> >>
>> >> Erik
>> >>
>> >>
>> >
>> >
>>
>>
>
>


Re: Flushing the JET - OLEDB
<david[ at ]epsomdotcomdotau> 20.09.2006 21:33:33
I guess.

The named constant dbFlushOSCacheWrites is a DAO named
constant. I'm not familiar with the Windows File System API.
so I can't help you any further there.

If there is a similar ADO property, it would probably have a
GUID (a direct call through to the Jet engine).

(david)


"Erik Visser" <evisser[ at ]wilg.nl> wrote in message
news:%23aJDaH$2GHA.4924[ at ]TK2MSFTNGP05.phx.gbl...
[Quoted Text]
> Hi David,
> I am sorry, but there is not a Win32 API function FlushOSCacheWrites.
> I guess you mean: FlushFileBuffers() ?
>
>
> Erik
> <david[ at ]epsomdotcomdotau> schreef in bericht
> news:%237D87nl1GHA.4176[ at ]TK2MSFTNGP06.phx.gbl...
> > Flush OS Cache Writes is a Windows API, called by the jet
> > engine, and the named constant dbFlushOSCacheWrites
> > is a DAO named constant.
> >
> > I don't know what platform you are using, but I assume that
> > you can call the windows API. I'm not familiar with the Windows
> > File System API. so I can't help you any further there.
> >
> > I agree that creating a DAO object just to call a Windows
> > File System API would probably not be the right way to
> > do it. If ADO transactions don't have a similar property,
> > I guess you should be asking in a Windows API newsgroup.
> >
> > (david)
> >
> >
> >
> > "Erik Visser" <evisser[ at ]wilg.nl> wrote in message
> > news:eum4eUl1GHA.3464[ at ]TK2MSFTNGP03.phx.gbl...
> >> David,
> >> Thans for your answer.
> >> AFAIK dbFlushOSCacheWrites is only available within (Access) VBA and
not
> > via
> >> Ado/OleDB
> >> regards,
> >>
> >> Erik
> >>
> >> <david[ at ]epsomdotcomdotau> schreef in bericht
> >> news:uqy6Con0GHA.2516[ at ]TK2MSFTNGP06.phx.gbl...
> >> >> Now i wonder, is there a way to force to write to the file (more
than
> >> >> a
> >> >
> >> > If you are using transactions, you can try dbFlushOSCacheWrites.
> >> > If not, you could try a dummy transaction with dbFlushOSCacheWrites.
> >> >
> >> > Other than turning off caching, there is no easy way to force write
> >> > to disk. Jet used to automatically write through to disk, but that
> >> > feature of Win 3.1/DOS 6 was disabled in Win95 when the disk
> >> > cache was rewritten and replaced. I think that dbFlushOSCacheWrites
> >> > used an API that forces the entire disk cache to flush, (perhaps that
> > has
> >> > changed?' and I don't know what affect if any it will have on a
network
> >> > cache and remote file system.
> >> >
> >> > (david)
> >> >
> >> >
> >> > "Erik Visser" <evisser[ at ]wilg.nl> wrote in message
> >> > news:eFJvHBY0GHA.4932[ at ]TK2MSFTNGP02.phx.gbl...
> >> >> In one of my apps i use an access database via OLEDB and that goes
> > well
> >> > at
> >> >> many
> >> >> customers sites but not on one. There the problem is that sometmes
> > added
> >> >> rows disapear after closing the programm and restarting. The jet
file
> > is
> >> > on
> >> >> the network, the app too and there is only one user.
> >> >> And ofcourse the problem cannot be reproduced.
> >> >> I have told them to update the Jet and MDAC drivers and the Netware
> >> >> client
> >> >> and to disable all kind of cache.
> >> >> Now i wonder, is there a way to force to write to the file (more
than
> >> >> a
> >> >> commit transaction) ?
> >> >>
> >> >> tia,
> >> >>
> >> >> Erik
> >> >>
> >> >>
> >> >
> >> >
> >>
> >>
> >
> >
>
>


Re: Flushing the JET - OLEDB
"Erik Visser" <evisser[ at ]wilg.nl> 22.09.2006 11:44:30
Hi David,
Thansk very much for your contribution.
I am evaluating FlushFileBuffers() and it seems to work fine, but it is a
bit hard to test as the original problem was not reproducable on the office
network.
Thanks again.,

Erik


<david[ at ]epsomdotcomdotau> schreef in bericht
news:Od88NwP3GHA.2228[ at ]TK2MSFTNGP03.phx.gbl...
[Quoted Text]
>I guess.
>
> The named constant dbFlushOSCacheWrites is a DAO named
> constant. I'm not familiar with the Windows File System API.
> so I can't help you any further there.
>
> If there is a similar ADO property, it would probably have a
> GUID (a direct call through to the Jet engine).
>
> (david)
>
>
> "Erik Visser" <evisser[ at ]wilg.nl> wrote in message
> news:%23aJDaH$2GHA.4924[ at ]TK2MSFTNGP05.phx.gbl...
>> Hi David,
>> I am sorry, but there is not a Win32 API function FlushOSCacheWrites.
>> I guess you mean: FlushFileBuffers() ?
>>
>>
>> Erik
>> <david[ at ]epsomdotcomdotau> schreef in bericht
>> news:%237D87nl1GHA.4176[ at ]TK2MSFTNGP06.phx.gbl...
>> > Flush OS Cache Writes is a Windows API, called by the jet
>> > engine, and the named constant dbFlushOSCacheWrites
>> > is a DAO named constant.
>> >
>> > I don't know what platform you are using, but I assume that
>> > you can call the windows API. I'm not familiar with the Windows
>> > File System API. so I can't help you any further there.
>> >
>> > I agree that creating a DAO object just to call a Windows
>> > File System API would probably not be the right way to
>> > do it. If ADO transactions don't have a similar property,
>> > I guess you should be asking in a Windows API newsgroup.
>> >
>> > (david)
>> >
>> >
>> >
>> > "Erik Visser" <evisser[ at ]wilg.nl> wrote in message
>> > news:eum4eUl1GHA.3464[ at ]TK2MSFTNGP03.phx.gbl...
>> >> David,
>> >> Thans for your answer.
>> >> AFAIK dbFlushOSCacheWrites is only available within (Access) VBA and
> not
>> > via
>> >> Ado/OleDB
>> >> regards,
>> >>
>> >> Erik
>> >>
>> >> <david[ at ]epsomdotcomdotau> schreef in bericht
>> >> news:uqy6Con0GHA.2516[ at ]TK2MSFTNGP06.phx.gbl...
>> >> >> Now i wonder, is there a way to force to write to the file (more
> than
>> >> >> a
>> >> >
>> >> > If you are using transactions, you can try dbFlushOSCacheWrites.
>> >> > If not, you could try a dummy transaction with dbFlushOSCacheWrites.
>> >> >
>> >> > Other than turning off caching, there is no easy way to force write
>> >> > to disk. Jet used to automatically write through to disk, but that
>> >> > feature of Win 3.1/DOS 6 was disabled in Win95 when the disk
>> >> > cache was rewritten and replaced. I think that dbFlushOSCacheWrites
>> >> > used an API that forces the entire disk cache to flush, (perhaps
>> >> > that
>> > has
>> >> > changed?' and I don't know what affect if any it will have on a
> network
>> >> > cache and remote file system.
>> >> >
>> >> > (david)
>> >> >
>> >> >
>> >> > "Erik Visser" <evisser[ at ]wilg.nl> wrote in message
>> >> > news:eFJvHBY0GHA.4932[ at ]TK2MSFTNGP02.phx.gbl...
>> >> >> In one of my apps i use an access database via OLEDB and that goes
>> > well
>> >> > at
>> >> >> many
>> >> >> customers sites but not on one. There the problem is that sometmes
>> > added
>> >> >> rows disapear after closing the programm and restarting. The jet
> file
>> > is
>> >> > on
>> >> >> the network, the app too and there is only one user.
>> >> >> And ofcourse the problem cannot be reproduced.
>> >> >> I have told them to update the Jet and MDAC drivers and the Netware
>> >> >> client
>> >> >> and to disable all kind of cache.
>> >> >> Now i wonder, is there a way to force to write to the file (more
> than
>> >> >> a
>> >> >> commit transaction) ?
>> >> >>
>> >> >> tia,
>> >> >>
>> >> >> Erik
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>
>


Home | Search | Terms | Imprint | Contact
Newsgroups Reader - provided by WiredBox.Net