Re: SQL Insert versus Table.Append
- From: J Ottery <jottery@xxxxxxxxxxxxxxxxx>
- Date: Wed, 5 Mar 2008 16:27:41 -0800 (PST)
On Mar 5, 10:14 am, "Arian Silwan" <ar...@xxxxxxxxxxxxxx> wrote:
"J Ottery" <jott...@xxxxxxxxxxxxxxxxx> wrote in message
news:01d0f35a-748c-404f-8386-97b27e88c76e@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
to add records but I am starting to lose records (it is writing across
a network).
What and in which situaton is that ecxactly happening? More accurate fault
description would give better idea what could actually be the reason.
1.Will using an SQL Component and INSERT INTO statement improve the
performance and ,especially, stop losing records?
No both TTable and TQuery are just similar layers that use Windows file
handling capabilities. TTable and TQuery components also share about 80% of
common pascal code in the background
Windows is able to lock a part (File Control Block, FCB) of a database file
against other network users and in this locked state write your changes to
the database filem ad then release the lock again.
If Windows fails with this file handling operation in networked environment
and is not able to write the new data to the database file then the thin
TTable and TQuery layers on that are not able to correct the situation.
2. Will this method allow me to run multiple (write only) users on the
same table.
I know users that have given read only rights only, but what exactly are
write only users?
OR Do I need a separate SQL Server (MySQL or Firebird or ????)
These databases use totally different approach in database file access.
There is a separate Server process on database server machine and it does
all the reads and writes to the database files. All the client machines only
send SQL requests to that Server process to read and write something from/to
the database.
This type of multi user databases are multitudes of more reliable against
data loss and data file corruption.
On the other hand, you should have no difficulties in having a reliable BDE
+ dBase database with 5..10 simultaneous users on a 100 MBit/s network. I
have run tens of this kind of small network databases for over a decade.
Depending on your database's load, you probably do not have immediate need
to move to MySQL or something else.
-Arian
Thanks so much for your insightful response.
My current problem is:
Using a dbf file with 10 indexes and 500000 records and writing
across a 100Mbs network.
I am beginning to lose records intermittently
Simple Table.Append; ...... Table.Post; It is erroring on the Post
method. (I have the Table open always)
Turned on CachedUpdates and tried to handle the error etc but to no
avail.
I also have sucessfully used this method to write to tables, for
years, but the datafiles have never been as big as this one.
If you have any suggestions on fixing this situation I am all ears.
Your advice convinces me that it is probably time to migrate to a more
robust DBMS anyway.
One more question: Perhaps you know, can I use mySQL to manage my
current dbf type files?
.
- Follow-Ups:
- Re: SQL Insert versus Table.Append
- From: Arian Silwan
- Re: SQL Insert versus Table.Append
- References:
- SQL Insert versus Table.Append
- From: J Ottery
- Re: SQL Insert versus Table.Append
- From: Arian Silwan
- SQL Insert versus Table.Append
- Prev by Date: Re: SQL Insert versus Table.Append
- Next by Date: Re: SQL Insert versus Table.Append
- Previous by thread: Re: SQL Insert versus Table.Append
- Next by thread: Re: SQL Insert versus Table.Append
- Index(es):
Relevant Pages
|