PROC APPEND海量日志大小正在崩溃企业指南

时间:2013-01-04 16:55:59

标签: sas enterprise-guide

我使用的是Enterprise Guide 4.2(没有选择)。

我正在使用PROC APPEND将大约80k +观察结果附加到SQL Server表中。我认为数据格式存在一些问题(例如变量长度不匹配),但它执行得很好,表格也会更新。然后,企业指南给了我以下消息:

  

Log(af771r01(处理流程))的内容太大而无法显示。窗口将关闭,但内容将保留在项目中。

我能够通过将日志重定向到虚拟文件来成功禁用日志:

** 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的新手,即使他们没有直接回答这个问题,我也愿意接受任何建议。

2 个答案:

答案 0 :(得分:1)

是的,您可以通过在FILENAME语句中指定路径来重定向日志到文件(而不是说DUMMY,这是指不存在的文件):

FILENAME JUNK 'path/file-name.log';

当然,您必须拥有指定位置的“写入”权限。

答案 1 :(得分:1)

您可以使用以下方法从日志中抑制大量信息:

options nonotes nonotes2;

和/或:

options nomprint nomlogic nosymbolgen nomacrogen; /* IF CODE CONTAINS MACROS */

错误仍会打印到屏幕上,但除非您重新打开日志记录,否则几乎没有信息可以调试它们。

某些SAS文档:http://support.sas.com/documentation/cdl/en/basess/58133/HTML/default/viewer.htm#a001906177.htm