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' 分钟后打开,其他人也可以更新。
我们的离岸伙伴在 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' 分钟后打开,其他人也可以更新。