本文发表在 rolia.net 枫下论坛通常情况下, 用DBMS/COPY可以解决这个问题. 比如DBMS/COPY version 7. 在Unix下键入"xdbmscopy", 就会出现DBMS/COPY的界面. 可以选则很多种的data type. 当然也会有这种后缀为ssd01, 由SAS UNIX 生成的数据类型. 选好后, 一步一步, 就能将ssd01转话为sas7bdat.
不知道你有没有DBMSCOPY. 如果没有的话, 可能真不好办了. SAS 6.07肯定是没有对应的Windows版本的. 我没用过, 听起来也挺怪异的.
感觉上, 可以试试把那个dataset先转化为SAS transport file. 然后再把这个transport file 读回来.
例如, 你的dataset是"eagles.ssd01". 路径为"c: \ data1 \ eagles.ssd01". 可以用:
libname 道明是 'C : \ data1' ;
libname 花着累 'C : \ data2 ' ;
proc cport data=道明是. eagles
file=' c: \ temp \ eagles.xpt ' ;
run;
如果能转化为SAS transport file, 下一步就是把这个"eagles.xpt"再读回来.
简单的, 可以用:
proc cimport data=花着累. eagles2
infile= ' c: \ temp \ eagles.xpt ' ;
run;
如果不行, 可以用:
libname dat 'C: \ data3' ;
libname library 'C: \ data3';
libname 干扁杉菜 xport 'C: \ temp \ eagles.xpt';
proc copy in=干扁杉菜 out=dat;
run;
proc format library = library cntlin = dat.formats;
run;
以上可以对付有user defined format的情况.
如果上面的招数都不灵, 那我也没有办法了. 只能晕倒在地了.
多试试吧. 说不定就能试出个西门, 美作来.更多精彩文章及讨论,请光临枫下论坛 rolia.net