Good Morning,
I have the following problem.

- Server with NetWare 5.1; SET CLIENT FILE CACHING = OFF
- Client A, Win XP, Client 4.91; File Commit = True, File Caching = False ;
- Client B, Win 7 64-bit, Client 2 SP 1 with IR 3 applied; File Commit = True, File Caching = False ;
- A program written with Alaska Software's XBase++ (updated & patched), running on server, attempts to append sequentially some records to a database file with an index (files all located on server).

---> Result: on Client A, OK; on Client B, Index file gets corrupted (new index keys are added at wrong positions on file) - but no errors occour during append/write operation!
---> if the database and index files are local on Clients and the program runs locally (everything local on client, no networking) --> works fine also on Client B.
---> if, after each record append, the index file is closed and reopened before the next record append, (i.e. close+reopen between 2 appends), --> works fine also on Client B.

So I think the problem is that the index file is not correctly updated on server, so that when a new record is added and the structure of the index is modified, the index file "seen" by the program is different from the "real" file on server.
When a new record is added, it is added at the end of the database file, which remains unchanged except for the new part at the end; instead, the index file (a B-tree) may be modified in multiple parts of it.

I created a small program which reproduces the problem. It adds some records to a database and checks the index. Always work well with "index close+reopen between appends"; often not, without.

I found several issues regarding Win 7 client and File locks and similar, but did not found a thread like this. No change with File Caching on/off on Win 7 Client .

Many Thanks in advance for your kind help....