Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Records inserted into the table completely lost
Message
From
23/09/1999 10:50:30
 
 
To
23/09/1999 08:29:41
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00267898
Message ID:
00267983
Views:
18
Hi Tim,

Thanks for the added detail. Not sure I'll be much help, but hopefully others can be.

I've not had the pleasure of a Win95 client but recollect mention of some problems there, more to do with locking I think (than "lost" records).

I have heard of strange things happening on NT Server when heavy printing is going on. Things like random 'not finding/opening of index file' yet no error regarding (problem found later when index use attempted). There were other anomalies too. It was Barbara Paltiel (often on UT) who experienced these oddities and I recollect that she got around most by getting agreement to keep printing low while app ran.

It sure wouldn't hurt to code the alias in your TableUpdate command, just to be certain of things. I also assume that you are checking the return from TableUpdate to confirm success.

Have you looked at the table in "natural" order to confirm that the records are not there (at the end)? Since they don't appear in a reindex I'm guessing they're not, but being sure is always helpful.

You might also try doing a FLUSH after each TableUpdate.

As I said - not much help.

Good luck,

jim n


>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.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform