Heiko Lanz
I am using Win 3.1 and developing a 16bit app with VB4 and Access 2.0.
My customer is running it under windows 95. The database itself is on
the network (served by an NT machine i think). This is the only
updater. In fact there is only one instance of the updater running.
There can be several instances of a retrieval app running.
I can't duplicate the problem on my machine with either compiled code or
in the dev. environment.
Any help will be appreciated.
In <01bc74d1$57228c00$2102...@funnel32.btx.dtag.de> "***" <a...@b.com>
wrote:
Did you check/use "DBEngine.Idle dbFreeLocks"?
I have some thoughts about strange behaviours like that and the one below.
Microsoft says, that in a multiuser-environment after EVERY Update and EVEN
SEARCH-OPERATIONS (MoveFirst, MoveNext, FindFirst, ...) you should use
"DBEngine.Idle dbFreeLocks" due to parallel-processing-behaviour of the
operation system (especially Win95/WinNT), because the Access-engine
sometimes keeps the record(s) locked (although you don't use them any more)
because of "heavy load". But the problem I described below is always the
same at the same point without accessing the records by more than one user
(or instance/procedure). I suppose it has something to do with an overflow
of an internal list/memory area or something (all the necessary DLLs are in
the search path, otherwise in the other program situations the same
operation would cause the same error - or not?)
> I am using Win 3.1 and developing a 16bit app with VB4 and Access 2.0.
> My customer is running it under windows 95. The database itself is on
> the network (served by an NT machine i think). This is the only
I have met another strange thing is this context: If the .MDB is on an
WinNT 3.51-Server (SP5) (on two different networks: one is a 10 MBit- and
the other a 100 MBit-network), there are sometimes situations, where the
program tries to update a record, but gets no answer from the server any
more and stops after some seconds (about 15), rasing a runtime error "...
used by user ... on machine ..." or a related error. But there is no one
else using this record (or any around it by page locking) or even the
database. And ALL operations on the database before were followd by
"DBEngine.Idle dbFreeLocks". And the server at this point has almost
NOTHING to do (P166, 64 MB etc.). I'm already feeling so insecure that I
suspect that the mainboard causes that behaviour (ASUS P55T2P4), because in
those two networks only this mainboard is the same component, all other
components are different from each other (network adaptors etc.).
Microsoft suggests some settings in the server-registry in cases where
DB-Files are sometimes corrupted or access is suddenly denied (due to
cache-affairs etc.); but they are already set (and cannot be the problem
because the server has almost nothing to do).
> In <01bc74d1$57228c00$2102...@funnel32.btx.dtag.de> "Heiko Lanz"
> wrote:
>
> >When executing a "compiled" VB4a-program under Win95, which opens
several
> >database-objects in the same Access2-database called A.MDB at the same
btw: The database is accessed by its full path (e.g. C:\DATABASE\A.MDB) of
course.
>Did you check/use "DBEngine.Idle dbFreeLocks"?
>
>I have some thoughts about strange behaviours like that and the one below.
>Microsoft says, that in a multiuser-environment after EVERY Update and EVEN
>SEARCH-OPERATIONS (MoveFirst, MoveNext, FindFirst, ...) you should use
>"DBEngine.Idle dbFreeLocks"
<snip>
You may have a winner here. I only just checked out DBengine.Idle
dbFreeLocks. There were NONE in the program at all. I will be generous
with them and see what happens.
Thank you very much.
------
Charlie Bounds (cbo...@notes.cc.bellcore.com)
>Did you check to see if all the DLL's can be found by the EXE program?
>FILE NOT FOUND and MISSING DLL are the same in VB! <G>
>
So I have discovered! However, not in this case. The app runs for an
hour or more sometimes before crapping out. (it refreshes the database
and is timer driven). When it does die it can be in any data access
statement. Someone else asked how often I do a DBengine.Idle and the
answer is NEVER. So that is what I will try next.
------
Charlie Bounds (cbo...@notes.cc.bellcore.com)
From a DOS prompt type 'SET'.
There are usually two variables 'TMP' and 'TEMP'. The directories that
these point
two MUST exist.
The JET engine creates some temporary files when it starts up and can't
find anywhere to put them.
We noticed this when in pure despiration, we installed Access 2.0 on the
target machine.
It give a much more friendly error.
Joe.
*** <a...@b.com> wrote in article
<01bc74d1$57228c00$2102...@funnel32.btx.dtag.de>...
> When executing a "compiled" VB4a-program under Win95, which opens several
> database-objects in the same Access2-database called A.MDB at the same
> time, at a
> certain situation always runtime error 3024 "File A.MDB not found" rises,
> even with "Files=255". But running the program in the IDE works fine. Any
> ideas why?
>
> Heiko Lanz
>
>