我正在使用 Enterprise Guide 4.2(没有选择)。
我正在使用 PROC APPEND 将大约 80k+ 观察结果附加到 SQL Server 表中。我认为数据格式存在一些问题(例如变量长度不匹配),但它执行得很好并且表已更新。然后,企业指南给我以下消息:
The contents of Log(af771r01 (Process Flow)) is too large to display. The window will close, but the contents will remain in the project.
我能够通过将日志重定向到虚拟文件来成功禁用日志:
** The Append Proc below outputs 80k+ lines (in theory) to the log, crashing EG 4.2;
** This statement will temporarily disable logging;
FILENAME JUNK DUMMY;
PROC PRINTTO
LOG=JUNK;
RUN;
** ========================================================
** Archive Summarized Enrollment Data
** ========================================================;
PROC APPEND BASE = Archive.MnthlyMbrCmpArch (
SASDATEFMT=(SYS_SRC_LOAD_DT='mmddyy10.')
)
DATA = Work.R1_MBR_ENRL_ARCHIVE;
RUN;
** Reenable logging;
PROC PRINTTO;
RUN;
这可以防止 EG 崩溃,但我会丢失所有警告和错误消息。我正在尝试调试该语句,因此我想要警告和错误,我只是不想要淹没日志。
有没有办法部分禁用日志记录而不完全关闭它?或者有没有办法将日志重定向到文件,以便 EG 在尝试不打开它时不会崩溃?
我是 SAS 新手,愿意接受任何建议,即使它们没有直接回答问题。
最佳答案
是的,您可以通过在 FILENAME
语句中指定路径将日志重定向到文件(而不是使用 DUMMY
,它指的是不存在的文件) :
FILENAME JUNK 'path/file-name.log';
当然,您必须对您指定的位置具有“写入”权限。
关于sas - PROC APPEND 大量日志大小导致崩溃 企业指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161388/