My postings are not written to disk!! 
Author Message
 My postings are not written to disk!!

I am developing a multiuser app intended to work across the network.
A master program is collecting data on a serial line and posts the data to a
Paradox table on its own disk.
The slave programs running across the network are refreshing their own
tables to retreive the changes.

However, the postings done by the Master app does NOT update the tables on
disk. The changes are only written when the tables are closed.

I have tried to enable the "Local Share" setting in the BDE, but this causes
a lot of lock violations in the master app when trying to enter Edit/Insert
mode. The table is updated quite often, several times per second.
After all, running with the "Local Share" enabled seems to cause a lot of
pain.

It seems to me that when running across a network, the BDE detects that the
table resides on a network drive and therefore writes the changes physically
to disk upon every Posting.
On a NT network I have succeded in redirecting a locigal drive to the C:,
and thus enabling network functionallity, but under Win95 mapping to a local
drive is not allowed.
Have tried the SUBST command in Autoexec.bat, but this drive is also treated
as a physical one.

How do I solve this problem?
Is there any settings in the BDE or any calls I can make to instruct the BDE
to write the changes to disk?
Any way to fool the BDE to think I am working across the network?

Any suggestion will be highly appreciated.

Best Regards
Consultas A/S

Arne N?tedal



Sun, 25 Mar 2001 03:00:00 GMT  
 My postings are not written to disk!!
In the AfterPost-procedure write
dbiSaveChanges(Table1.Handle);

This will flush data to the disk so it is available to other users/programs

Timo


Quote:
>I am developing a multiuser app intended to work across the network.
>A master program is collecting data on a serial line and posts the data to
a
>Paradox table on its own disk.
>The slave programs running across the network are refreshing their own
>tables to retreive the changes.

>However, the postings done by the Master app does NOT update the tables on
>disk. The changes are only written when the tables are closed.

>I have tried to enable the "Local Share" setting in the BDE, but this
causes
>a lot of lock violations in the master app when trying to enter Edit/Insert
>mode. The table is updated quite often, several times per second.
>After all, running with the "Local Share" enabled seems to cause a lot of
>pain.

>It seems to me that when running across a network, the BDE detects that the
>table resides on a network drive and therefore writes the changes
physically
>to disk upon every Posting.
>On a NT network I have succeded in redirecting a locigal drive to the C:,
>and thus enabling network functionallity, but under Win95 mapping to a
local
>drive is not allowed.
>Have tried the SUBST command in Autoexec.bat, but this drive is also
treated
>as a physical one.

>How do I solve this problem?
>Is there any settings in the BDE or any calls I can make to instruct the
BDE
>to write the changes to disk?
>Any way to fool the BDE to think I am working across the network?

>Any suggestion will be highly appreciated.

>Best Regards
>Consultas A/S

>Arne N?tedal



Sun, 25 Mar 2001 03:00:00 GMT  
 My postings are not written to disk!!
Looks like your Netfiledir is just different when looked from the
server and the workstations. This means 100 Percent sure that your
shared data will be corrupted.

If you have only one hard disk partition on your server (C:), then
with Win95 and it's restricted Mapping capabilities it's not easy
to get the Netfiledir look the way BDE wants it to be.
No problem even there, if you let the whole C: drive to be shared in
network.

But if you want to keep only one directory (C:\DATA) and it's subdirectories
as a shared directory, then the problems arise. Netfiledir path for
the server then looks something like C:\DATA\NETDIR.
The workstations see the server's shared C:\DATA directory in Win95
as a mapped network drive, for example as a drive with letter Z:.
And their BDE NetfileDir setting is thus Z:\NETDIR.  ==> A BIG DATA
CORRUPTION STARTS.

Easy and working solution is to have more than one partitions on the
server machine. And then let for example the whole D: be a shared
drive in network. From the server BDE then sees the Netfiledir setting
being D:\DATA\NETDIR and when looked from the workstations as
Z:\DATA\NETDIR. This is OK and BDE is happy.

I have not used the UNC naming conventions for NetfileDir. You probably
also could get BDE happy by using it somehow.
 \\DATA\NETDIR for the NetfileDir directory. With UNC you don't have
to write and use the drive letters at all.  Someone said that using UNC
directory names with Win95 gives better overall performance with BDE,
but with NT4.x it freezes the speed down.

Markku Nevalainen

Quote:

> However, the postings done by the Master app does NOT update the tables on
> disk. The changes are only written when the tables are closed.



Sun, 25 Mar 2001 03:00:00 GMT  
 My postings are not written to disk!!
atable.FlushBuffers

should accomplish the same thing for each table.

Quote:

>In the AfterPost-procedure write
>dbiSaveChanges(Table1.Handle);

>This will flush data to the disk so it is available to other users/programs

>Timo

>A/S Consultas heeft geschreven in bericht


Quote:
>>I am developing a multiuser app intended to work across the network.
>>A master program is collecting data on a serial line and posts the data to
>a
>>Paradox table on its own disk.
>>The slave programs running across the network are refreshing their own
>>tables to retreive the changes.

>>However, the postings done by the Master app does NOT update the tables on
>>disk. The changes are only written when the tables are closed.

>>I have tried to enable the "Local Share" setting in the BDE, but this
>causes
>>a lot of lock violations in the master app when trying to enter
Edit/Insert
>>mode. The table is updated quite often, several times per second.
>>After all, running with the "Local Share" enabled seems to cause a lot of
>>pain.

>>It seems to me that when running across a network, the BDE detects that
the
>>table resides on a network drive and therefore writes the changes
>physically
>>to disk upon every Posting.
>>On a NT network I have succeded in redirecting a locigal drive to the C:,
>>and thus enabling network functionallity, but under Win95 mapping to a
>local
>>drive is not allowed.
>>Have tried the SUBST command in Autoexec.bat, but this drive is also
>treated
>>as a physical one.

>>How do I solve this problem?
>>Is there any settings in the BDE or any calls I can make to instruct the
>BDE
>>to write the changes to disk?
>>Any way to fool the BDE to think I am working across the network?

>>Any suggestion will be highly appreciated.

>>Best Regards
>>Consultas A/S

>>Arne N?tedal



Sun, 25 Mar 2001 03:00:00 GMT  
 My postings are not written to disk!!
use the call dbiSaveChanges() in afterpost event.
turn off the Windows cache in the control panel/system/performance/file
system/troubleshooting/disable write-behind cache

Peek Malakul

Quote:

>How do I solve this problem?
>Is there any settings in the BDE or any calls I can make to instruct the
BDE
>to write the changes to disk?
>Any way to fool the BDE to think I am working across the network?

>Any suggestion will be highly appreciated.

>Best Regards
>Consultas A/S

>Arne N?tedal



Mon, 26 Mar 2001 03:00:00 GMT  
 
 [ 5 post ] 

 Relevant Pages 

1. Records Not Written to Disk

2. Delphi2 BDE Will Not Write to Disk

3. Data is not written to disk

4. HELP -- Posting and not posting

5. Do not read, test of posting

6. Losing File Handles - But I am not using Files

7. Why am I not getting the RTE 200?

8. Q:Posting changes within a transaction (Capability not Supported)

9. Post not posting - D3

10. New Records Not Posting.

11. writing buffer to disk

12. how to write data immediately on the disk

 

 
Powered by phpBB® Forum Software