gpt4 book ai didi

sas - 锁定不适用于 MYLIB.SASMACR.CATALOG

转载 作者:行者123 更新时间:2023-12-04 21:49:32 27 4
gpt4 key购买 nike

我有一个存储编译宏的库,即我这样定义的宏:

options mstored sasmstore=MYLIB;

%macro say_something(txt) / STORE SOURCE;
%put &txt;
%mend;

我经常收到此错误消息:

NOTE: The SAS System was unable to open the macro library referencedby the SASMSTORE = libref MYLIB.

ERROR: A lock is not available for MYLIB.SASMACR.CATALOG.

ERROR: Lock held by process 4653302.

ERROR: A dummy macro will be compiled.

当我尝试定义一个宏(例如执行上面的代码)时会发生这种情况,我相信它会发生在两种情况下:

  1. 打开另一个 session ,其中已经定义了一个宏。

  2. 使用我的库中的宏打开另一个 session ,其中当前正在运行一个进程

(虽然我不是很清楚)

我可以避免这种情况吗?

在第一种情况下,我想放弃写作权,以便另一个 session 可以使用它们。我目前通过关闭文件并重新打开它来完成此操作,如果我在“重新启动”之前错误地对该文件启动了一个漫长的过程,这将是乏味且非常烦人的。

在第二种情况下,我真的不明白为什么会发生锁定,因为我几乎没有使用宏,也没有向库中写入任何内容。由于我的库将被更多人使用,我需要找到“正确的时间”来提交,这实际上不是我正在寻找的干净的工作流程。

最佳答案

我的建议是停止使用存储的已编译宏,而是使用自动调用宏文件夹,使用 sasautos 选项。然后您可以随时进行更改而不必担心锁。任何已在运行的 session 都需要重新加载宏才能获取新定义。

关于sas - 锁定不适用于 MYLIB.SASMACR.CATALOG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50695952/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com