SAS EG:SAS 数据集通过从 EG 打开它而被锁定。需要一个决议

SAS EG: SAS Dataset is locked by opening it from EG. Need a resolution

我们的离岸伙伴在 SAS Enterprise Guide 中保留了一个关键的 SAS 数据集。我们依靠该数据集通过各种作业进行许多更新。我尝试从各个站点搜索一个选项来解锁数据集,但没有用。请提供任何建议。谢谢。

使用SYSTASK命令执行mv(移动)或cp(复制)UNIX命令来替换现有数据集。如果您需要一次移动或复制多个数据集,您可以使用 * 通配符,但您还必须使用 SHELL 选项。

根据您的具体情况,另一种选择是防止任何人首先使用PW=数据集选项将其锁定,例如:

data myImportantTable(PW=pass123);
    x=1;output;
run;

然后您可以创建一个视图,允许 EG 用户单击并查看基础数据,但不会锁定原始数据集:

proc sql; 
    CREATE VIEW myImportantTable_view AS
    SELECT * FROM myImportantTable(read=pass123)
;quit;

现在,即使用户在 EG:

中打开视图,INSERTS、UPDATES 等也将起作用
*This will work even if view is opened in EG;
proc sql;
    INSERT INTO myImportantTable(PW=pass123) VALUES(101)
;quit;

请注意,如果您的程序中有很多不同的 INSERT/UPDATE 语句,那么这不是一个好的选择 - 每个语句都需要在其中添加 (PW=...) 数据集选项为了工作。

SAS Enterprise Guide 中有一个选项。在工具 --> 选项 --> 数据 --> 性能下。有一个复选框,"Close Data Grid after period of inactivity (in minutes)" 这是即使数据网格在 'n' 分钟后打开,其他人也可以更新。