Solved

multi-user paradox tables

Posted on 1997-04-23
7
402 Views
Last Modified: 2010-04-04
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
Comment
Question by:mannak042397
  • 4
  • 2
7 Comments
 
LVL 2

Expert Comment

by:javiertb
ID: 1335680
What did you set your BDE config parameters to?
I mean paradox driver tab, and system tab.
0
 
LVL 2

Expert Comment

by:javiertb
ID: 1335681
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
 

Author Comment

by:mannak042397
ID: 1335682
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
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
LVL 2

Expert Comment

by:javiertb
ID: 1335683
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
 

Author Comment

by:mannak042397
ID: 1335684
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
 

Expert Comment

by:gdj
ID: 1335685
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
 
LVL 2

Accepted Solution

by:
javiertb earned 200 total points
ID: 1335686
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

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

791 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question