【问题标题】:PROC APPEND massive log size is crashing Enterprise GuidePROC APPEND 大量日志大小正在崩溃企业指南
【发布时间】:2013-01-04 16:55:59
【问题描述】:

我正在使用 Enterprise Guide 4.2(对此别无选择)。

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

Log(af771r01 (Process Flow)) 的内容太大,无法显示。窗口将关闭,但内容将保留在项目中。

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

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

【问题讨论】:

    标签: sas enterprise-guide


    【解决方案1】:

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

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

    当然,你必须对你指定的位置有“写”权限。

    【讨论】:

    • Doh...这应该更明显。
    【解决方案2】:

    您可以使用以下命令隐藏日志中的大量信息:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多