- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个存储编译宏的库,即我这样定义的宏:
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.
当我尝试定义一个宏(例如执行上面的代码)时会发生这种情况,我相信它会发生在两种情况下:
打开另一个 session ,其中已经定义了一个宏。
使用我的库中的宏打开另一个 session ,其中当前正在运行一个进程
(虽然我不是很清楚)
我可以避免这种情况吗?
在第一种情况下,我想放弃写作权,以便另一个 session 可以使用它们。我目前通过关闭文件并重新打开它来完成此操作,如果我在“重新启动”之前错误地对该文件启动了一个漫长的过程,这将是乏味且非常烦人的。
在第二种情况下,我真的不明白为什么会发生锁定,因为我几乎没有使用宏,也没有向库中写入任何内容。由于我的库将被更多人使用,我需要找到“正确的时间”来提交,这实际上不是我正在寻找的干净的工作流程。
最佳答案
我的建议是停止使用存储的已编译宏,而是使用自动调用宏文件夹,使用 sasautos
选项。然后您可以随时进行更改而不必担心锁。任何已在运行的 session 都需要重新加载宏才能获取新定义。
关于sas - 锁定不适用于 MYLIB.SASMACR.CATALOG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50695952/
我有一个存储编译宏的库,即我这样定义的宏: options mstored sasmstore=MYLIB; %macro say_something(txt) / STORE SOURCE; %pu
我是一名优秀的程序员,十分优秀!