Löschen einer Bibliothek, die für gespeicherte kompilierte SAS Makro verwendet wird

StackOverflow https://stackoverflow.com/questions/1629999

  •  06-07-2019
  •  | 
  •  

Frage

Ich habe ein Programm, das einen gespeicherte kompilierte Makro in einer Bibliothek mit der Syntax erstellt:

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

Allerdings scheinen kann ich nicht meine Bibliothek (MyLib) danach erneut zuweisen - ich die folgende Meldung (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.

Kann mir jemand raten?

War es hilfreich?

Lösung

SAS 9.3 oder höher, können Sie jetzt die libref deaktivieren Sie das % SYSMSTORECLEAR Statement .

Andere Tipps

Kurze Antwort - ich glaube nicht, können Sie in der gleichen SAS Sitzung .

Sie können nicht die libref ausblenden, da der Makrokatalog (SASMACR) offen bleibt. Es bleibt offen, da sie Ressourcen nimmt zu öffnen und den Katalog zu schließen und SAS geht davon aus, dass kompilierten Makros in Produktionsaufträgen für die Geschwindigkeit gehen und als Kompromiss, einige dynamischen Fähigkeiten verlieren. Alle Ressourcen müssen geschlossen werden, bevor Sie die libref löschen. Da SASMACR in Gebrauch bleibt (und kurz, um die Sitzung zu schließen, scheint keinen Weg, um es zu schließen), ther ist keine Möglichkeit, die libref zu löschen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top