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