2009-10-27 34 views
3

我有使用語法在庫中創建一個存儲編譯宏程序:但是我似乎結算正在使用存儲編譯庫SAS宏

options mstored sasmstore=MyLib; 
%macro MyMac() /store source des='My Macro'; 
    %let x=1; 
%mend; 

無法重新分配我的圖書館( MyLib中)之後 - 我收到以下消息(SAS 9.1.3):

ERROR: Unable to clear or re-assign the library MYLIB because it is still in use. 
ERROR: Error in the LIBNAME statement. 

誰能指教?

回答

4

簡短的回答 - 我不認爲你可以在同一SAS會議

因爲宏目錄(SASMACR)保持打開狀態,所以無法清除libref。它保持打開狀態,因爲它需要資源來打開和關閉目錄,並且SAS假定編譯宏正在爲生產作業提高速度,並且作爲一種權衡,會失去一些動態能力。必須先關閉所有資源,然後才能清除libref。由於SASMACR仍在使用中(並且關閉會話似乎沒有辦法關閉它),所以無法清除libref。