1
我试图自动执行一个涉及大量数据通过网络传递的作业,以及实际的db2服务器和我们的SAS服务器之间。我想要做的是采取传统的穿过......SAS - > Shell DB2 Passthrough和宏解析
proc sql;
connect to db2(...);
create table temp as
select * from connection to db2(
select
date
.......
where
date between &start. and &stop.
); disconnect from db2;
quit;
弄成这个样子:
x "db2 'insert into temp select date ...... where date between &start. and &stop.'";
我遇到的几个问题,第一是DB2日期'ddMONyyyy'd格式,这会导致shell命令提前终止。如果我能解决,我认为它应该工作。
我可以将一个宏变量传递给AIX(SAS)服务器,而不需要执行db2命令所需的额外“集合”。
有什么想法?
对于单引号直通SQL,我用%BQUOTE。例如%LET DT = 2011-09-05; %LET SQLDT =%BQUOTE(” &DT') ; –
谢谢 这两个选项让做一次通过,这将节省大量的时间一吨现在只有SAS没有把警告有关的字符串超过262个字符 – DataParadigms
@ProcRun! - 尝试noquotelenmax选项来取消警告。http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a002233891.htm – fscmj