【发布时间】:2022-01-11 22:36:29
【问题描述】:
我有一个从批处理脚本启动的 SAS 脚本。之前运行批处理脚本时,日志说我尝试导入的文件出错,如下:
错误:XLSX 文件不存在 -> C:......\etc\excelfile.xlsx 注意:SAS 系统因错误而停止处理此步骤。
当我从 SAS UI 手动运行相同的脚本时,该脚本运行良好,没有任何错误。当我当时查看日志时,以下是从批处理导入时遇到问题的同一文件的注释:
注意:导入数据集有 1000 个观测值和 100 个变量。 注意:WORK.have 数据集已成功创建。
注意:已使用 PROCEDURE IMPORT(总处理时间): 实时 3.06 秒 cpu时间2.23秒
值得一提的是,这个 SAS 脚本还导入了其他文件,并且它们导入良好 - 即使从批处理启动时也是如此。有没有其他人遇到过这个问题?
批处理脚本:
"C:\Program Files\SASHome\x86\SASFoundation\9.3\sas.exe" -SYSIN
"C:\...\...\..\etc\sas_script_file.sas" -PRINT
"C:\...\...\...\....\etc\sas_script_file.lst"
SAS 上的导入程序:
proc import OUT=work.have (keep = col1 col2 col3 col4)
datafile="C:\...\...\...\etc\excelfile.xlsx"
DBMS=XLSX REPLACE;
SHEET= "Sheet1";
run;
【问题讨论】:
-
SAS 程序文件中的文本行有多长?它们是否可能比 SAS 在后台/批处理模式下读取程序文件时使用的默认逻辑记录长度更长?
-
您真的在运行 9 年前的 SAS 版本吗? SAS 9.4 于 2013 年发布。
-
@Tom 你可能不想知道有多少公司仍在运行 SAS 8...
-
嗨@Tom - 是的,这是一个非常大的脚本 - 数千行代码。当我查看日志时,脚本并没有一直处理,它在中途停止,无法导入我上面讨论的那个文件。
-
问题是关于各个代码行的长度,而不是代码行数。
标签: sas