Данных не существует - PullRequest
0 голосов
/ 16 ноября 2018

У меня очень странная проблема.

Я назначил имя библиотеки, например

libname TEST_LIB "/Info-One/...." /*have removed the exact location*/

/*The dataset TEST_DATA is visible in this output*/
proc datasets lib = TEST_LIB;
RUN;

/*This statement throws an error saying the file does not exist*/
DATA TEST_DATA_2;
  set TEST_LIB.TEST_DATA;
RUN;

Я использую этот код в руководстве SAS Enterprise, подключенном к удаленному серверу.

Я также могу перейти к местоположению из проводника и перетащить его в руководство для предприятия, после чего набор данных станет видимым. Но даже если я дважды щелкну на наборе данных из определенной библиотеки, он скажет, что набор данных не существует.

У меня закончились идеи, и я не уверен, как это устранить.

Несколько вещей, которые я пробовал / проверял

  1. Чувствительность к регистру не проблема
  2. В имени файла нет пробелов
  3. У меня есть разрешения для папки, потому что я могу нормально работать с другим набором данных, который я создал и поместил в эту папку
  4. На самом деле, если я скопирую данные в Excel, загрузлю Excel в SAS, чтобы создать набор данных SAS, и поместу его в то же место с другим именем, я столкнусь с той же проблемой !!

Буду очень признателен за любые идеи, которые у вас могут возникнуть, не только о том, почему это происходит, но и о том, как обойти это

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Вы уверены, что это набор данных?Поместите memtype = data в наборы данных Proc, как показано ниже

наборы данных proc lib = TEST_LIB memtype = data;RUN;

0 голосов
/ 18 ноября 2018

Перенесено из комментариев и расширено

Вот 2 варианта:

  1. Имя файла набора данных может содержать заглавные буквы. Это маловероятный, но возможный сценарий:

    В системах Unix имена файлов чувствительны к регистру. Имя набора данных в программе SAS будет внутренне сопоставлено с соответствующим именованным файлом данных в нижнем регистре (эти файлы sas7bdat на уровне операционной системы). Если процесс копирования каким-либо образом создает файл данных .sas7bdat в Unix с именем, состоящим из смешанного или верхнего регистра, сеанс SAS не будет сопоставлен с ним. В таком случае обозреватель файлов SAS может перечислить набор данных, но не сможет его открыть. Однако может сработать прямая ссылка файла на набор данных, например
    set '~/project1/datasets/MyWeirdlyCasedDataset';

  2. Существует проблема с правами доступа к файлу при монтировании папки, что позволяет читать записи каталога (имена файлов), но не содержимое файла (наборы данных) внутри. Попробуйте открыть терминальную сессию (putty или mobaxterm) и посмотрите, каков подробный список каталогов для папки данных (ls -l). Возможно, вам также придется взглянуть на списки контроля доступа (lsacl) и привлечь сетевого и ИТ-администратора. .

...