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
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.