标题: .net获取文件名及列名 [打印本页] 作者: shiyiming 时间: 2008-7-9 17:08 标题: .net获取文件名及列名 研究了两天SAS,总算能实现sas获取文件名及列名功能了。在此,也感谢xgghxkhuang的指导。
//获取文件列名
libname da "C:\test";
data ex;
set da.qq;
run;
proc transpose data=ex out=ex2;
var _all_;
run;
proc print data=ex2;
run;
//获取某一文件夹中文件名
filename indata pipe 'dir C:\tes /b';
data file_list;
length fname $50.;
infile indata truncover; /* infile statement for file names */
input fname $50.; /* read the file names from the directory */
call symput ('num_files',_n_); /* store the record number in a macro variable */
run;
//vs.net 调用
string[] sasDataText ={
"filename indata pipe 'dir C:\\tes /b';data file_list;",
" length fname $50.;",
" infile indata truncover;",
" input fname $50.;",
" call symput ('num_files',_n_);",
"run;",
"proc print;",
"run;"
};
System.Array sasArray = sasDataText;
SasWorkSpace.LanguageService.SubmitLines(ref sasDataText);
const int len = 100;
WSAS.LanguageServiceCarriageControl[] CCs;
WSAS.LanguageServiceLineType[] lineType;
string[] logLine;
SasWorkSpace.LanguageService.FlushListLines(len, out CCs, out lineType, out logLine);
上面我们调用Language Service来提交SAS DATA步和过程步,并接收LOG和LIST输出;至于如何执行SQL语句,可参考下面链接
Reading SAS Data in .Net Using ADO and ADO.NET
<!-- m --><a class="postlink" href="http://support.sas.com/kb/25/276.html">http://support.sas.com/kb/25/276.html</a><!-- m -->作者: shiyiming 时间: 2008-7-9 21:53 标题: Re: .net获取文件名及列名 请教楼主,为什么要用.net来运行SAS程序?有什么好处么?作者: shiyiming 时间: 2008-7-9 22:22 标题: Re: .net获取文件名及列名 只是由于项目需要,我们的大部分项目都是用.net开发的,需要调用到sas数据作者: shiyiming 时间: 2008-7-10 10:04 标题: Re: .net获取文件名及列名 sas的作为一门独立的统计编程语言,文件操作能力是很强的,建议LZ查查fopen函数之类的帮助,会有很大收获的
我之前也喜欢用x语句,然后直接写dos代码,现在觉得何苦?^_^