Board index » delphi » Multi user access to PDOX table

Multi user access to PDOX table

I have 2 delphi applications, one writes to paradox tables on a shared
network drive on an NT workstation.  I've made sure that the writing
application has the exclusive property of the tables set to false.
The second application runs on network workstations running W95 or W98.
They open the paradox database, read the tables, display the contents and
close.  I believe that this is done once per second or so.  The exclusive
property for the tables in the application is also set to false.

The first application is always running.  I start the second app on a
workstation and it connects properly and displays the data as expected.  If
I try and start a second instance of the second app on another workstation
the following message appears:

Directory is controlled by other .net file
Directory c:\
File V:\Databases\Pdoxusrs.lck

Searches of the documentation does not help.  

Any suggestions on what the cause is and how to deal with it are greatly
appreciated!

 

Re:Multi user access to PDOX table


All stations must have their "net file dir" set to the same location.
The path must be seen exactly the same by all station (just the drive name
can be different, but that can't work with path alias).

Andy Lafontaine a crit dans le message
<01be713a$e92c0290$6c01a8c0@vigil-1>...
|I have 2 delphi applications, one writes to paradox tables on a shared
|network drive on an NT workstation.  I've made sure that the writing
|application has the exclusive property of the tables set to false.
|The second application runs on network workstations running W95 or W98.
|They open the paradox database, read the tables, display the contents and
|close.  I believe that this is done once per second or so.  The exclusive
|property for the tables in the application is also set to false.
|
|The first application is always running.  I start the second app on a
|workstation and it connects properly and displays the data as expected.  If
|I try and start a second instance of the second app on another workstation
|the following message appears:
|
|Directory is controlled by other .net file
|Directory c:\
|File V:\Databases\Pdoxusrs.lck
|
|Searches of the documentation does not help.
|
|Any suggestions on what the cause is and how to deal with it are greatly
|appreciated!
|

Re:Multi user access to PDOX table


Sorry for my ignorance, but:

Where Is the "net file dir" you mention below set?

Here is what I tried.
The local app on the network "server" generates a pdoxusrs.net in c:\

On the remote workstations I mapped a drive V to the root of the C drive on
the network server.

I went into the remote application, set the NetFileDir property of the
TSession to V:\, compiled and ran it on the two remote workstatons. The
same problem.

Thanks for your patience

olivier dahan <oda...@{*word*104}cable.fr> wrote in article
<7cs5tr$dd...@oceanite.{*word*104}cable.fr>...

Quote
> All stations must have their "net file dir" set to the same location.
> The path must be seen exactly the same by all station (just the drive
name
> can be different, but that can't work with path alias).

Re:Multi user access to PDOX table


Andy Lafontaine escribi en mensaje <01be713a$e92c0290$6c01a8c0@vigil-1>...

Quote
>I have 2 delphi applications, one writes to paradox tables on a shared
>network drive on an NT workstation.  I've made sure that the writing
>application has the exclusive property of the tables set to false.
>The second application runs on network workstations running W95 or W98.
>They open the paradox database, read the tables, display the contents and
>close.  I believe that this is done once per second or so.  The exclusive
>property for the tables in the application is also set to false.

>The first application is always running.  I start the second app on a
>workstation and it connects properly and displays the data as expected.  If
>I try and start a second instance of the second app on another workstation
>the following message appears:

>Directory is controlled by other .net file
>Directory c:\
>File V:\Databases\Pdoxusrs.lck

>Searches of the documentation does not help.

>Any suggestions on what the cause is and how to deal with it are greatly
>appreciated!

Here's a solution: (I hope)

for each application you must define:

Net File Dir: Shared for both applications.
Private Dir: one local directory for each application.

You can do this like:

App 1:

   with Session do
      begin
         NetFileDir := V:\Databases
         PrivateDir := C:\Tmp1
      end;

App 2:

   with Session do
      begin
         NetFileDir := V:\Databases
         PrivateDir := C:\Tmp2
      end;

Bye.

Re:Multi user access to PDOX table


Quote
Andy Lafontaine wrote:

> Sorry for my ignorance, but:

> Where Is the "net file dir" you mention below set?

> Here is what I tried.
> The local app on the network "server" generates a pdoxusrs.net in c:\

It won't work that way. For some reason BDE needs it to be a directory,
root will not be enough.
Map the whole C:, as you did earlier, but use BdeAdministrator,
or set NetDir in code, Session.NetFiledir:='X:\MYDIR'; to get that
important locking setting right for all the users.

Markku Nevalainen

Re:Multi user access to PDOX table


Hi there all who responded and are interested.  Thanks for your
suggestions, here is what I tried that worked too:

First, MAP the shared folder Server\\Vigil98\ to V:\ via in Window Explorer
on the remote PC then
1-Run BDE Admin
2-Select Configuration TAB
3-Expand Drivers
4-Expand Native
5-Select PARADOX
6-Change Net Dir to V:\Databases
7-Save BDE Admin config file, ie. exit BDE Admin.

THX

Andy Lafontaine <mlafonta...@vigil-inc.com> wrote in article
<01be713a$e92c0290$6c01a8c0@vigil-1>...

Quote
> I have 2 delphi applications, one writes to paradox tables on a shared
> network drive on an NT workstation.  I've made sure that the writing
> application has the exclusive property of the tables set to false.
> The second application runs on network workstations running W95 or W98.
> They open the paradox database, read the tables, display the contents and
> close.  I believe that this is done once per second or so.  The exclusive
> property for the tables in the application is also set to false.

> The first application is always running.  I start the second app on a
> workstation and it connects properly and displays the data as expected.
If
> I try and start a second instance of the second app on another
workstation
> the following message appears:

> Directory is controlled by other .net file
> Directory c:\
> File V:\Databases\Pdoxusrs.lck

> Searches of the documentation does not help.  

> Any suggestions on what the cause is and how to deal with it are greatly
> appreciated!

Re:Multi user access to PDOX table


Just a small addendum: if you are using BDE v5, you don't need to map
the drive - you can enter a valid UNC path such as
\\<NetworkComputerName>\<ShareName>.

--
Stephen Brown

Quote
Andy Lafontaine wrote in message

<01be752e$c89a1880$6c01a8c0@vigil-1>...
Quote
>Hi there all who responded and are interested.  Thanks for your
>suggestions, here is what I tried that worked too:

>First, MAP the shared folder Server\\Vigil98\ to V:\ via in Window
Explorer
>on the remote PC then
>1-Run BDE Admin
>2-Select Configuration TAB
>3-Expand Drivers
>4-Expand Native
>5-Select PARADOX
>6-Change Net Dir to V:\Databases
>7-Save BDE Admin config file, ie. exit BDE Admin.

>THX

>Andy Lafontaine <mlafonta...@vigil-inc.com> wrote in article
><01be713a$e92c0290$6c01a8c0@vigil-1>...
>> I have 2 delphi applications, one writes to paradox tables on a
shared
>> network drive on an NT workstation.  I've made sure that the
writing
>> application has the exclusive property of the tables set to false.
>> The second application runs on network workstations running W95 or
W98.
>> They open the paradox database, read the tables, display the
contents and
>> close.  I believe that this is done once per second or so.  The
exclusive
>> property for the tables in the application is also set to false.

>> The first application is always running.  I start the second app on
a
>> workstation and it connects properly and displays the data as
expected.
>If
>> I try and start a second instance of the second app on another
>workstation
>> the following message appears:

>> Directory is controlled by other .net file
>> Directory c:\
>> File V:\Databases\Pdoxusrs.lck

>> Searches of the documentation does not help.

>> Any suggestions on what the cause is and how to deal with it are
greatly
>> appreciated!

Other Threads