Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Records inserted into the table completely lost
Message
De
23/09/1999 08:29:41
 
 
À
23/09/1999 08:06:43
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00267898
Message ID:
00267921
Vues:
23
Hi Jim Thanx for the response...

> You have a table with 50,000 records in it.
> You start your program (testing) and do a TableUpdate(.T.) after INSERTing 50 >new records. In
> the program that is still running you see that the table now has 50,050 >records.
> You close the (test) program and using whatever means you now see that the >table has only 50,000 -
> the original number of records before you added any with the test.

> I am pretty sure that the above is correct so far, but please advise.

Your close... And this should help explain your other question.

> Also, what is the Server in operation here - OS and version?

I have a server program running on an NT server 4.0 with SP3. It also runs several AS400 integration programs and is used as a file server.
In this program I can press a button and get the foxpro command line.
IN here I can check out stuff. But it's like working in foxpro so rather tahn
confuse I just said I opened the table in foxpro.

So I have a server program and a client program.
The client program inserts records into the PDMLOG.DBF
and the server program reads the same PDMLOG.DBF and transfers the data to AS400
if it follows some criteria.

When I go in the client program and change some things...
I can generate the 50 records... After every insert there is a tableupdate()
done typically.
INSERT INTO PDMLOG blah blah
tableupdate()
The buffering is set to 5 in both prgrams...So I assume that after each record acommit is made.


The user has complained that some data didn't go into the AS400
I found it to be because it wasn't in the PDMLOG.DBF leading me to believe that they didn't type it in or it got rejected or lost.

Looking into it I found the case where...
I go into the client program and change stuff 50 records are inserted. I don't close the program. At the same time I go to the server and look into the table
and I can't see the 50 new records.
(I am sure they point to the same table)
I close the prgram and come back in...and the 50 records are lost.

The client is windows 95.


> So I drop the CDX file and reindex it.
>It works for a while and then the problem happens again.. Does this mean that a >REINDEX
>results in showing the 50 "missing" records?

So then...I decide it may be a problem with indexes...
So I delete the pdmlog.cdx file and create the indexes again on the table.
The 50 records are still gone. But if I repeat the above test
after each line inserted by the prgram I see it immmediately on the server.

> 2) You mention two programs, yet only seem to talk about one. Do you mean that >it is the same
> program on two different workstations or do you mean two different programs?

Explained above but there are many clients and 1 server sharing the same table.
It is too different programs with different jobs.

> Does the program use TRANSACTIONS and, if so, might the END TRANSACTION be >being bypassed?

I don't use transactions. Ectually I am not sure how this applies in this case?

Thanx a lot for your answer hope you can help explain this.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform