• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 436
  • Last Modified:

multi-user paradox tables

I'm having biiig problems with a Delphi application using Paradox tables in a multiuser environment.

When user A adds a record, user B doesn't see the record. I'm using queries to show the records. Even if user A executes the query a dozen times, it doesn't show up.

Only when user B exits the program, and starts it again, user B can see the record user A added.

Does anyone know this problem? (and has a solution?)
0
mannak042397
Asked:
mannak042397
  • 4
  • 2
1 Solution
 
javiertbCommented:
What did you set your BDE config parameters to?
I mean paradox driver tab, and system tab.
0
 
javiertbCommented:
Anyway, you can't get the record added by another user until you execute your query again. So, in your example, user B won't be able to see the new added record until he (user B) executes the query again.


0
 
mannak042397Author Commented:
As said, even when user B executes the query again, the new record cannot be seen by user B (untill he shuts down the program and starts it up again.

Paradox BDE config:
Version: 3.0
Type: FILE
Langdriver: Paradox 'intl'
Level: 4
Block size: 2048
Fill factor: 95
Strictintegrty: true

systemtab:
version: 3.0
local share: true
minbufsize: 128
maxbufsize: 2048
Langdriver: Paradox 'intl'
maxfilehandles: 48
sysflags: 0
Low memory usage limit: 32
auto odbc: false
default driver: paradox
sharedmemsize: 2048
sharedmemlocation: --empty--
data repository: sample data dictionairy
sqlqrymode: --empty--

0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
javiertbCommented:
What about the paradox driver net dirs of both clients?

Have you tried changing the tables from within Database Desktop in both clients at the same time? What happens?
0
 
mannak042397Author Commented:
If I try to change values in tables using Database Desktop, something really strange happens. I ran this experiment on one pc (not attached to a network).

For example, I'm running my application and change a value in DD from 200 to 300 and post the change. Then I open a new window in my application, which has a TableX.Open statement.

DD still shows 300. Then I Edit the table, add a value to this value (TableXFieldY.Value := TableXFieldY.Value + 1;) and post the change.

In DD you can see the value change from 300 back to 201 (which is, of course 200+1)! It seems like BDE is caching tables.
0
 
gdjCommented:
See some tips for multi-use at
http://www.experts-exchange.com/Q.859418576

In my tests you cannot run a 16bit and 32bit delpi program on the same data, they create different .net files.  This caused a problem similar to the one you are having.

Try disabling the cache of Windows 95.

If one of the computers is the computer with the data on the local drive, try accessing that data from 2 remote PCs.  This would indicate some net / local cache Bugs in the OS.

Always use DbiSaveChanges(Table1.Handle);
this uses the dbiprocs unit.
0
 
javiertbCommented:
I guess the user that made changes to data have to call then for QueryA.Refresh so information is flushed to disk. Did you already tried this?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now