How do dataservers and mutli-user connections work

AnthonyMillard1

New Member
Hi All
We have noticed an issue with Progress v91C to Oracle 9i whereby sometimes when we read the records from the database we don't always get the correct data back.

e.g.
If I start 2 sessions, in session A, read a record, then in session B read + aler the same record, finally in Session A read the record again. I see the original data and not the new data altered by session B.

I am aware of the -rereadnolock to force session A to always reread no lock data, however on testing this did not work all the time.
I think that the way we have set up the progress clients is fundimentally incorrect and would like to ask you experters advice on whats wrong.

what I think is wrong is that each client is running its own dataserver on its own pc and therefore if it already has read a record with no-lock and the dataserver doesnt record that any other changes have been made to that record then on a re-read the dataserver uses the record in memory and not that on the database.

Therefore is session A reads a record that is in sessions A's dataserver memory, session B changes that record and that change is recorded in session B's dataserver, when session A wants to reread the record it natually uses what its got becuase it knows nothing about session B

I think each pc is running its own dataserver becuase we do not specifically connect to a remote dataserver
(I will admit that I am totally confused on the dataserver business and the above is all guesswork)

if you are going to have mutli user connecting to the same database should you use a remote dataserver to ensure that you always get up to date information when you read from the database.

Each client pc is set up as
Windows XP machines
Progress 91C, prowin install on each client
connected to Oracle 9i via TNSNAMES
Each client has a local schema hold and its own .pf file

an example of the .pf file is
-cpinternal ibm850
-T c:\temp\Progress\V91C
-d dmy
-mmax 4000
-Bt 512
-s 450
-nb 250
-nojoinbysqldb
-db c:\progress\data\oracle\conq_win
-RO
-ld conq_unix
-db Progression
-c 250
-U username/password@database
-Dsrv qt_no_debug, -noindexhint

The only remote machine we use is to store the Oracle database on it.

Thanks in advance
Tony
 
Top