背景故事:我正在尝试使用SAS Enterprise Guide 5.1导出文件。我已经成功地做了很长一段时间。我有大量的SAS程序每天运行没有问题,但最近我注意到SAS在文件路径中添加了额外的斜杠(/),然后声称路径错误。我的一个SAS程序每天运行几个月而根本没有编辑,从来没有出现过这个问题!代码中没有任何变化!
以下是我最近一次出口尝试的日志:
%PUT REPORTDATE = %sysfunc(intnx(day,%sysfunc(today()),-1),date7.);
REPORTDATE = 16AUG15
%LET FILE = filename_REPORTDATE..xlsx;
PROC EXPORT
DATA = finalData
OUTFILE = "filepath/&FILE"
DBMS = xlsx
REPLACE;
SHEET = "Sheet1";
RUN;
ERROR: Temporary file for XLSX file can not be created ->
/filepath//filename_REPORTDATE..$$1. Make sure the path name is correct
and that you have write permission.
所以,路径不正确,我没有权限......因为它不存在那个额外的/。
如果任何SAS巫师能够对此有所了解,我会很感激!
编辑:'filepath'不是宏,我只是出于隐私原因删除了实际的文件路径。这是一条书面路径,“/ foo / bar /& FILE”
答案 0 :(得分:1)
我发现了我提到的两个问题。
首先,主要问题:SAS似乎与文件路径区分大小写。实际文件夹名称中包含大写字母。我指的是SAS指向相同的文件路径,但是用小写字母表示。鉴于我的问题,我意识到你无法看到这个,但为了保护隐私,我不得不删除实际的文件路径。
第二:我提到了一份已经运行了几个月的工作并且突然发生了同样的问题。文件路径是可靠的,但它定期生成的文件随着时间的推移增长超过200MB。我尝试将与xlsx相同的数据导出到csv,而且一切正常。
我不确定这是否是SAS的一个众所周知的'事物',对文件路径区分大小写,或者不为大文件导出到xlsx。 (我会发誓我过去导出了更大的文件!)。我倾向于说,虽然这似乎是用户错误,但SAS的错误似乎并没有指出我正在解决问题的正确方向。
感谢大家的努力,我很感激!