You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAS Enterprise Guide 8.2:CSV导出至FTP成功但无文件问题排查

问题诊断与修正方案

你的FTP连接定义本身没有问题,但第3步的上传逻辑完全错误,这是导致文件未出现在FTP服务器的核心原因。以下是具体分析和修正方法:

错误点说明

proc export的作用是将SAS数据集导出为外部文件,它不能用来将本地已存在的文件上传到FTP服务器。你第3步的代码逻辑完全不符合该过程的使用场景,因此即便脚本执行报错信息未显式抛出,实际也没有完成上传操作。

正确实现方式

有两种更可靠的方式完成需求,推荐优先使用第一种(跳过本地存储,直接导出到FTP):

方式1:直接将SAS数据集导出至FTP服务器(无需本地中转)
/* 定义FTP连接,指定远程目标文件夹 */
filename myftp ftp host='hostname' cd='/SAS/' 
    user='username' pass='password' 
    debug;

/* 直接将数据集导出为CSV到FTP指定路径 */
proc export data=WORK.TABLE_DATA
   outfile=myftp
   dbms=csv
   replace;
   filename='Test.csv'; /* 指定FTP服务器上的最终文件名 */
run;
方式2:先导出到本地,再上传至FTP服务器

如果必须保留本地文件中转的步骤,可使用data _null_完成文件复制上传:

/* 定义FTP连接 */
filename myftp ftp host='hostname' cd='/SAS/' 
    user='username' pass='password' 
    debug;

/* 导出数据集到本地 */
proc export data=WORK.TABLE_DATA
   outfile="/sas/prd/data/output/Test.csv"
   dbms=csv
   replace;
run;

/* 定义本地文件引用 */
filename csv_file "/sas/prd/data/output/Test.csv";

/* 上传本地文件到FTP */
data _null_;
   infile csv_file recfm=f lrecl=32767;
   file myftp recfm=f lrecl=32767 filename='Test.csv';
   input;
   put _infile_;
run;

内容的提问来源于stack exchange,提问作者SimonH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:02:12