Hi all,
I am facing an weird problem. I am creating a table from one process (sas session) and trying to delete that same table using a second process (sas session). These sas sessions are getting called using Java from interface.
Now in the second process when I am trying to delete the dataset it is telling that ERROR: Delete lock is not available for TMPLIB.SPOT_STATUS.DATA, lock held by another process.
But we are not locking this table in anywhere. The code used for deletion is:
proc datasets library=tmplib;
delete spot_status;
quit;
Could you please suggest a solution. Is it possible that some external process is locking the table and if yes then is there a way to track that process?
Thanks in advance for your help.
Thanks & Regards,
Saugata Mukherjee.
how do you ensure the creation is complete (and table closed) before second session attempts the delete?
What library engine is being used?
There are a number of ways in which to avoid this error and have a program wait for a lock to become available.
Here is one example paper that outlines a macro call %trylock
Play Nice with Others: Waiting for a Lock on SAS Table
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.