Sybase NNTP forums - End Of Life (EOL)

The NNTP forums from Sybase - forums.sybase.com - are now closed.

All new questions should be directed to the appropriate forum at the SAP Community Network (SCN).

Individual products have links to the respective forums on SCN, or you can go to SCN and search for your product in the search box (upper right corner) to find your specific developer center.

ADS Clipper using Proprietary locking won't share it's data

7 posts in Clipper Last posting was on 2009-08-02 17:13:33.0Z
Frederic Bell Posted on 2009-07-28 15:15:49.0Z
Reply-To: "Frederic Bell" <freddie@iafrica.com>
From: "Frederic Bell" <freddie@iafrica.com>
Newsgroups: advantage.clipper
Subject: ADS Clipper using Proprietary locking won't share it's data
Date: Tue, 28 Jul 2009 17:15:49 +0200
Lines: 55
Organization: Bell Software Design
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-RFC2646: Format=Flowed; Original
NNTP-Posting-Host: 165.145.85.140
Message-ID: <4a6f15e4@solutions.advantagedatabase.com>
X-Trace: 28 Jul 2009 09:14:44 -0700, 165.145.85.140
Path: solutions.advantagedatabase.com!solutions.advantagedatabase.com!165.145.85.140
Xref: solutions.advantagedatabase.com Advantage.Clipper:4444
Article PK: 1107113

This is a carry over from a thread I started on the Delphi newsgroup. I have
a Clipper application, linked with ADS IP and accessing remote data via
ADSDOSPIP. (packets sent/received)

The Clipper app is able to share data with itself in both comaptible and
proprietary locking modes, but the Clipper app. is unwilling to allow Arc or
Delphi to share that data if the Clipper app opens the table first (shared)
with ax_axslocking(.T.) or if Arc/Dephi opens the table first!

[Incidently, no sharing problem occurs if the Clipper app opens the tables
in compatibility mode ie. ax_axslocking(.F.)]

The ads_err.dbf shows 3 error records: 0,32 7008,1001 and 7008,1001. from
the attempt by Arc to open a file *already opened* by the Clipper app in
shared mode.

The Clipper app has it's own function to open files, and the dbuseare
function appears to be correct:

Function My_Use(cFile, lExcl, cAlias)
Local lAxLoaded := .F.
Local cAltRdd := "SIXCDX"
while .not. lSucess
// use the ADS rdd if possible, otherwise use the file's RDD
lAxLoaded := ax_Loaded(AxGetDrive(cFile)) // always returns .T.
dbUseArea(.T., if(lAxLoaded, "DBFCDXAX", cAltRdd), cFile, cAlias, !
lExcl, .F.)
if (lSuccess := (! NetErr() .and. ax_driver()))
exit
endif

Now if I open the table using Arc first (proprietary/remote), when the
Clipper app runs the above code, it producess the same sequence of error
records in ads_err.dbf as when Arc opens the table first.
ie. 0,32 7008:1001 7008:1001. (a number of sets from all the retries)

This means that the Clipper App isn't sharing it's data despite being an ADS
application opening it's files in shared mode.

I have also set the NONEXCLUSIVE_PROPRIETARY_LOCKING flag in the ADS 9.1
configuration utility to no avail.

This isn't what supposed to happen in Proprietary locking mode in 2 ADS
applications as I understand it
I'm hoping someone else can provide an insight, perhaps if you've
experienced this yourself?
Failing everything, the production Clipper app (which is running on a
netware 50 user licence) is going to be re-deployed with ax_axslocking(.F.)
so my new Delphi app can access the tables simultaneously.
I'm nervous about that, because it appears to me that the Clipper app may be
using a different locking scheme than Arc and the Delphi app. right now.

Freddie


Douglas Woodrow Posted on 2009-07-28 20:08:22.0Z
Message-ID: <RG99RlB2q1bKFwZD@woodrowhorsfall.plus.com>
Date: Tue, 28 Jul 2009 21:08:22 +0100
From: Douglas Woodrow <newsgroups@nospam.demon.co.uk>
Newsgroups: advantage.clipper
Subject: Re: ADS Clipper using Proprietary locking won't share it's data
References: <4a6f15e4@solutions.advantagedatabase.com>
Lines: 44
Organization: Woodrow Horsfall Ltd
MIME-Version: 1.0
Content-Type: text/plain;charset=us-ascii
User-Agent: Turnpike/6.05-U (<bWuiu+q3qs7m+8hklpPWu9PLAH>)
NNTP-Posting-Host: 84.92.177.174
X-Trace: 28 Jul 2009 14:07:13 -0700, 84.92.177.174
Path: solutions.advantagedatabase.com!solutions.advantagedatabase.com!nospam.demon.co.uk!newsgroups
Xref: solutions.advantagedatabase.com Advantage.Clipper:4445
Article PK: 1107114


On Tue, 28 Jul 2009 17:15:49, Frederic Bell <freddie@iafrica.com> wrote
>The Clipper app is able to share data with itself in both comaptible and
>proprietary locking modes, but the Clipper app. is unwilling to allow Arc or
>Delphi to share that data if the Clipper app opens the table first (shared)
>with ax_axslocking(.T.) or if Arc/Dephi opens the table first!

>The Clipper app has it's own function to open files, and the dbuseare
>function appears to be correct:
>
>Function My_Use(cFile, lExcl, cAlias)
>Local lAxLoaded := .F.
>Local cAltRdd := "SIXCDX"
>while .not. lSucess
> // use the ADS rdd if possible, otherwise use the file's RDD
> lAxLoaded := ax_Loaded(AxGetDrive(cFile)) // always returns .T.
> dbUseArea(.T., if(lAxLoaded, "DBFCDXAX", cAltRdd), cFile, cAlias, !
>lExcl, .F.)
> if (lSuccess := (! NetErr() .and. ax_driver()))
> exit
> endif

Hi Freddie,

A couple of suggestions:

1) Change that function to the following:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Function My_Use(cFile, lIgnored, cAlias)

Local lShared := .T. // NB forcing shared regardless of 2nd argument

dbUseArea(.T., "DBFCDXAX", cFile, cAlias, lShared, .F.)

Return( !NetErr() )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


2) Try setting rights checking off and seeing if that makes a difference.

regards,
--
Doug Woodrow


Frederic Bell Posted on 2009-07-28 20:43:16.0Z
Reply-To: "Frederic Bell" <freddie@iafrica.com>
From: "Frederic Bell" <freddie@iafrica.com>
Newsgroups: advantage.clipper
References: <4a6f15e4@solutions.advantagedatabase.com> <RG99RlB2q1bKFwZD@woodrowhorsfall.plus.com>
Subject: Re: ADS Clipper using Proprietary locking won't share it's data
Date: Tue, 28 Jul 2009 22:43:16 +0200
Lines: 63
Organization: Bell Software Design
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-RFC2646: Format=Flowed; Original
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
NNTP-Posting-Host: 165.145.85.140
Message-ID: <4a6f62a5@solutions.advantagedatabase.com>
X-Trace: 28 Jul 2009 14:42:13 -0700, 165.145.85.140
Path: solutions.advantagedatabase.com!solutions.advantagedatabase.com!165.145.85.140
Xref: solutions.advantagedatabase.com Advantage.Clipper:4446
Article PK: 1107116

Thanks for the reply Douglas. Firstly, ax_rightscheck(.F.) has been off all
along (through all my posts to these newgroups) but I forgot to mention that
before now.

Secondly, I am spending too much time on this problem now and have reduced
the app (a copy obviously) down to a shell of it's former self now, with
just the startup procedures, bare libraries and file open procedures in
place. I even replaced all the axcdxsix.ch's with dbfcdxax.ch's because I
thought perhaps having an alternate SIXCDX rdd might be messing with it.
Unfortunately I have some called to sx_keydata that I can't take out, or I
would have removed the lib SIX3 from the link script too.

I was ahead of you and had hard-coded the share paramater to .T. prior to
my last message. It makes no difference!

Here is the the link script as it stands at present.

map S,A
blinker executable nodelete
blinker executable clipper F73;BADCACHE
blinker procedure depth 100
blinker overlay opsize 40
blinker incremental off
blinker executable extended
blinker environment name pdsx
blinker overlay fixed #fix overlay area size
blinker overlay pageframe on #use ems for overlay execution
blinker overlay umb on #use UMB's for overlay execution
blinker cache EMS 256,50%
blinker cache XMS 256,50%
nobell
nodeflib
output systemx
fi startup
fi __wait_b
fi ctintp, ctusp
fi main
fi st_util1, st_util2, st_util3
fi t_scrsav
lib pdslib # my own
fi cld.lib
fi ax_index # progress indicator functions
fi ax_tag # order changing wrapper function
fi ax_locks # file opening & record locking
fi ax_file # file opening wrapper functions
fi ax_packd # reindexing functions
fi dbfcdxax # default rdd is .cdx/.smt
#sea axsbcomm # protected mode axs lib for ipx comms for
blinker
sea axipbcom # protected mode axs lib for ip comms for
blinker
#fi cdxlock # only when non-axs Clipper must access same
data
lib dbfaxs # axs core lib
lib six3 # six driver lib (for alt. RDD and other
func's)
sea blxratex # blinker lib for ca-tools III
lib ctp # CA-TOOLS III for extended mode linking
sea blxclp52 # blinker lib for extended mode
lib funcky15 # 3 functions
lib clipper, extend # secondary clipper lib


Frederic Bell Posted on 2009-07-29 13:27:51.0Z
Reply-To: "Frederic Bell" <freddie@iafrica.com>
From: "Frederic Bell" <freddie@iafrica.com>
Newsgroups: advantage.clipper
References: <4a6f15e4@solutions.advantagedatabase.com> <RG99RlB2q1bKFwZD@woodrowhorsfall.plus.com> <4a6f62a5@solutions.advantagedatabase.com>
Subject: Re: ADS Clipper using Proprietary locking won't share it's data
Date: Wed, 29 Jul 2009 15:27:51 +0200
Lines: 5
Organization: Bell Software Design
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-RFC2646: Format=Flowed; Response
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
NNTP-Posting-Host: 165.145.85.140
Message-ID: <4a704e16@solutions.advantagedatabase.com>
X-Trace: 29 Jul 2009 07:26:46 -0700, 165.145.85.140
Path: solutions.advantagedatabase.com!solutions.advantagedatabase.com!165.145.85.140
Xref: solutions.advantagedatabase.com Advantage.Clipper:4447
Article PK: 1107119

I don't know how this happened, but the issue is resolved! No, I don't know
what changed, or how it fixed itself, but it's working as expected now.
Thanks for your help.


Jan Sperling Posted on 2009-07-29 16:52:06.0Z
Reply-To: "Jan Sperling" <sperling@racsa.co.cr>
From: "Jan Sperling" <sperling@racsa.co.cr>
Newsgroups: advantage.clipper
References: <4a6f15e4@solutions.advantagedatabase.com> <RG99RlB2q1bKFwZD@woodrowhorsfall.plus.com> <4a6f62a5@solutions.advantagedatabase.com> <4a704e16@solutions.advantagedatabase.com>
Subject: Re: ADS Clipper using Proprietary locking won't share it's data
Date: Wed, 29 Jul 2009 08:52:06 -0800
Lines: 7
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-RFC2646: Format=Flowed; Response
NNTP-Posting-Host: 201.198.30.2
Message-ID: <4a7061d5@solutions.advantagedatabase.com>
X-Trace: 29 Jul 2009 08:51:01 -0700, 201.198.30.2
Path: solutions.advantagedatabase.com!solutions.advantagedatabase.com!201.198.30.2
Xref: solutions.advantagedatabase.com Advantage.Clipper:4448
Article PK: 1107115

Did you changed the path to your app?
I remember a case where suddenly an app became monouser, because we accessed
the app over the net with a very large path...

Jan


Frederic Bell Posted on 2009-08-02 13:17:57.0Z
Reply-To: "Frederic Bell" <freddie@iafrica.com>
From: "Frederic Bell" <freddie@iafrica.com>
Newsgroups: advantage.clipper
References: <4a6f15e4@solutions.advantagedatabase.com> <RG99RlB2q1bKFwZD@woodrowhorsfall.plus.com> <4a6f62a5@solutions.advantagedatabase.com> <4a704e16@solutions.advantagedatabase.com> <4a7061d5@solutions.advantagedatabase.com>
Subject: Re: ADS Clipper using Proprietary locking won't share it's data
Date: Sun, 2 Aug 2009 15:17:57 +0200
Lines: 8
Organization: Bell Software Design
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-RFC2646: Format=Flowed; Response
NNTP-Posting-Host: 41.240.9.191
Message-ID: <4a7591bc@solutions.advantagedatabase.com>
X-Trace: 2 Aug 2009 07:16:44 -0700, 41.240.9.191
Path: solutions.advantagedatabase.com!solutions.advantagedatabase.com!41.240.9.191
Xref: solutions.advantagedatabase.com Advantage.Clipper:4452
Article PK: 1107120

I can confirm that I changed the path to the data from the application.
Before I'd set a mapped drive (Y: which was mapped down to the level of the
data folder ie. h:\clip\pdsmed\seshgo) During my experiments to resolve the
issue, I set this later changed the mapping to h:\clip\pdsmed and set the
path in the application to y:\sesehgo. I don't know why this made the
difference, but it did.


Douglas Woodrow Posted on 2009-08-02 17:13:33.0Z
Message-ID: <LfZrX0A9kcdKFw6T@woodrowhorsfall.plus.com>
Date: Sun, 2 Aug 2009 18:13:33 +0100
From: Douglas Woodrow <newsgroups@nospam.demon.co.uk>
Newsgroups: advantage.clipper
Subject: Re: ADS Clipper using Proprietary locking won't share it's data
References: <4a6f15e4@solutions.advantagedatabase.com> <RG99RlB2q1bKFwZD@woodrowhorsfall.plus.com> <4a6f62a5@solutions.advantagedatabase.com> <4a704e16@solutions.advantagedatabase.com> <4a7061d5@solutions.advantagedatabase.com> <4a7591bc@solutions.advantagedatabase.com>
Lines: 13
Organization: Woodrow Horsfall Ltd
MIME-Version: 1.0
Content-Type: text/plain;charset=us-ascii;format=flowed
User-Agent: Turnpike/6.05-U (<NDuiuqrhqs7679hkgvKWulaKuA>)
NNTP-Posting-Host: 84.92.177.174
X-Trace: 2 Aug 2009 11:11:41 -0700, 84.92.177.174
Path: solutions.advantagedatabase.com!solutions.advantagedatabase.com!nospam.demon.co.uk!newsgroups
Xref: solutions.advantagedatabase.com Advantage.Clipper:4453
Article PK: 1107117


On Sun, 2 Aug 2009 15:17:57, Frederic Bell <freddie@iafrica.com> wrote
>I can confirm that I changed the path to the data from the application.
>Before I'd set a mapped drive (Y: which was mapped down to the level of the
>data folder ie. h:\clip\pdsmed\seshgo) During my experiments to resolve the
>issue, I set this later changed the mapping to h:\clip\pdsmed and set the
>path in the application to y:\sesehgo. I don't know why this made the
>difference, but it did.

I'd recommend using UNC paths instead of mapped drives - this also
allows you to run ADSDOSIP as a service.
--
Doug Woodrow