Desktop productivity for business analysts and programmers

Row Level Locking

Reply
N/A
Posts: 0

Row Level Locking

Hi,

I have One SAS DATA SET and More than one Processes.
All processes are running parallel and are either writing or updating different rows.

i means to say All Processes are using same DATA SET. i don't want Table Level Locking, i want Row Level Locking....even i don't have a any knowledge related to this topic ...


please help....
SAS Super FREQ
Posts: 8,820

Re: Row Level Locking

Hi:
The answer to this question involves whether you are running SAS on a server with multiple users updating the file; whether you are using SAS/IntrNet; whether you are using EG as one of the client applications as part of the SAS Enterprise Intelligence Platform.

At the most simple level, you might have SAS on a server, and if the server also has SAS/Share installed, then you will be able to achieve row level locking:
http://support.sas.com/documentation/cdl/en/shrref/59595/HTML/default/a000266796.htm

However, your ability to achieve row level locking may be implemented differently if you are using SAS/IntrNet or the Enterprise Intelligence Platform. You might wish to contact your SAS Administrator or Tech Support for more help with your specific configuration and implementation questions.

cynthia
N/A
Posts: 0

Re: Row Level Locking

Hi Thanks for reply soon...

i am working on SAS server .i.e. At the most simple level as you are talking...

Actualy SAS DATA set is available on the same machine where processes are running.

what problem i am facing, ....when ProcessesA is using TableA then ProcessB can't access it.
Error Message like "A Table Level Lock held by another Process"...


So please help..
SAS Super FREQ
Posts: 8,820

Re: Row Level Locking

Hi:
As explained here:
http://support.sas.com/kb/5/370.html

...it seems to me that EG is working as designed. Once the table is opened in update mode, it makes sense that no other process could simultaneously update the table.

If your installation does have the SAS/Share product on the server, then, you can investigate how to implement row level locking, as described in the SAS/Share documentation.

I'd suggest working with your SAS Administrator first, to find out what SAS products are on the server and/or working with Tech Support on this question.

cynthia
Respected Advisor
Posts: 4,137

Re: Row Level Locking

Hi

I you have SAS/Share installed then this could be a way to go (also even with SAS/Share it's sometimes a bit tricky) - look at statements like "modify", avoid "proc sql" as it doesn't always behave like one would expect.

Without SAS/Share row-level-locking is not possible for normal SAS datasets. What you can do is having process B waiting for the table until process A is done with it. Have a look at: http://www.lexjansen.com/pharmasug/2005/posters/po33.pdf

HTH
Patrick
SAS Super FREQ
Posts: 8,820

Re: Row Level Locking

Hi:
Also, after reading some of your other posts, it seems that you are also using SAS DI Studio and possibly other client applications in the SAS Enterprise Intelligence Platform. To implement row-level locking in the Platform context, you may want to read the Platform Administration documentation and work with your SAS Administrator and/or Tech Support on this question.

cynthia
Respected Advisor
Posts: 4,137

Re: Row Level Locking

If there is a SAS/Share Server and the library (the tables) is accessed via SAS/Share then this link might give you some helpful information: http://support.sas.com/onlinedoc/913/getDoc/en/shrref.hlp/a000433065.htm

HTH
Patrick
Super User
Posts: 5,388

Re: Row Level Locking

Just like to add that row level locking is also available within the SAS/SPD Server product. Another solution is to store you data in an external DBMS which will be accessed through a SAS/ACCESS connection.

/Linus
Data never sleeps
Ask a Question
Discussion stats
  • 7 replies
  • 744 views
  • 0 likes
  • 4 in conversation