ВНИМАНИЕ: не удалось отсканировать длину текста или тип времени для столбца - PullRequest
0 голосов
/ 08 октября 2019

Я использую платформу SAS 9.4 TS Level 1M5 x64_7PRO в Windows 6.1.7601.

Я пытаюсь импортировать таблицу Access с более чем 30 000 записей, имеющих 7 столбцов. Один из столбцов «Результаты» содержит данные, превышающие 4000 символов (как числовые, так и текстовые) для определенных записей. При использовании приведенного ниже кода

 PROC IMPORT OUT= ED_Notes_July2019
        DATATABLE= "ED_Notes_Import" 
        DBMS=ACCESS REPLACE;
 DATABASE="J:\EMTC\JMC\PECARN Registry\ED Documents Reports\2019\Month\Docs_Jul.accdb"; 
 SCANMEMO=YES;
 USEDATE=NO;
 SCANTIME=YES;
 RUN;

я получаю следующее сообщение: «ПРЕДУПРЕЖДЕНИЕ: не удалось отсканировать длину текста или тип времени для столбца РЕЗУЛЬТАТ». Проведя небольшое онлайн-исследование, я нахожу только потенциальные решения с участием Excel (http://support.sas.com/kb/33/257.html). Кто-нибудь знает о решении, применимом к Access?

У меня также есть данные, хранящиеся в таблице SQL (индекспространство 836 МБ; пространство данных 50 000 МБ; количество строк 8 948 138), но для импорта этих данных оттуда требуется следующий код:

 LIBNAME SQL ODBC DSN='SQL Server' schema=dbo; 
 data ED_Notes_Master; 
 set sql.ED_Notes_Master;
 if datepart(RESULT_DT_TM) > '01JUL2019'd;
 run;

1 Ответ

0 голосов
/ 09 октября 2019

Оператор if, скорее всего, не переносится на серверную часть автоматическими функциями механизма ODBC.

Попробуйте заменить if на оператор where и дату и время. литерал:

where RESULT_DT_TM > '01JUL2019:0:0'DT;
...