TLDR:
Я хочу прочитать свою базу данных доступа через оператор infile, чтобы получить полный контроль над форматом, информацией, длиной переменных / столбцов
У меня естьДоступ к базе данных, которая имеет около 2 миллионов записей. В настоящее время я импортирую ее с PROC IMPORT.
Проблема:
Из того, что я прочиталчто PROC IMPORT использует около 32 тыс. строк для установки формата, информации, длины для переменных. Я чувствую, что данные могут быть усечены.
Другая проблема заключается в том, что все мои символьные переменные имеют формат и информацию как $ 255..и длиной 255. Я не хочу, чтобы все мои переменные были такой длины, формата, информации.
Я хочу, чтобы некоторые переменные были больше 255, а некоторые - меньше 255.
Мой текущий код:
PROC IMPORT OUT= Input.access_db
DATATABLE= "DATABASE"
DBMS=ACCESSCS REPLACE;
DATABASE="\\Input\Entire_Records.accdb";
SCANMEMO=YES;
USEDATE=YES;
SCANTIME=NO;
RUN;
Я хочу сделать выше с оператором infile.
У меня есть код для импорта моего csv через оператор infile. Но яя не понимаю, как мне изменить его, чтобы он читал мои записибаза данных
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;