TLDR:

我想通过infile语句读取我的访问数据库,以完全控制格式,信息,变量/列的长度

我有一个访问数据库,有大约200万条记录 . 目前我用 PROC IMPORT. 导入它

The problem:

从我读到的 PROC IMPORT 使用大约32k行来设置格式,信息,变量的长度我觉得数据可能会被截断 .

另一个问题是我的所有字符变量的格式和信息都是$ 255.and长度为255.I不希望我的所有变量都是这个长度,格式,信息 .

我希望一些变量大于255,一些变量小于255 .

My current code:

PROC IMPORT OUT= Input.access_db 
DATATABLE= "DATABASE" 
DBMS=ACCESSCS REPLACE; 
DATABASE="\\Input\Entire_Records.accdb"; 
SCANMEMO=YES; 
USEDATE=YES; 
SCANTIME=NO; 
RUN;

我想在上面做一个infile语句 .

我有一个代码通过infile语句导入我的csv . 但是我没有得到如何修改它以使其读取我的访问数据库

data Input.Real;
%let _EFIERR_ = 0; /* set the ERROR detection macro variable */
infile 'Input\Real.csv'
delimiter = ',' 
MISSOVER 
DSD 
lrecl=32767 
firstobs=2 ;
informat ID 11.;
informat IDENTIFIER $255. ;
informat LINE_CODE $255. ;
informat ACTION $255. ;

format ID 11.;
format IDENTIFIER $255. ;
format LINE_CODE $255. ;
format ACTION $255. ;

input

ID
IDENTIFIER $
LINE_CODE $
ACTION $ ;

if _ERROR_ then call symputx('_EFIERR_',1);  /* set ERROR detection macro variable */
RUN;