Обработка ошибок на сокетах в SAS под OpenVMS

Может ли веб-работа теперь подключаться к базе данных SQL, размещенной на виртуальной машине Azure? Кроме того, виртуальная машина Azure размещается в Западной Европе? Если да, возможно, вы получили сообщение на портале Azure и на панели мониторинга работоспособности службы (баннер).

7
задан CW Holeman II 26 April 2017 в 07:22
поделиться

3 ответа

Вы пытались проверить значение & syserr. Все, что не равно 0, обычно указывает на проблему.

Здесь вы можете увидеть возвращаемые значения . Судя по списку, я думаю, что 1012 или 1020 - это то, что вы получаете во время ошибки сокета.

5
ответ дан 6 December 2019 в 23:13
поделиться

Можете ли вы проверить данные foo? Если данных нет, вы можете установить цикл повторных попыток, если данные существуют, продолжить?

Что-то вроде:

doitagain:

(введите свой код сокета здесь)

 / * посмотрите, существует ли ds * /

%, если не% sysfunc (существующие (data.foo))%, то% do;

/ * если ds не существует, то * /

% put ПРЕДУПРЕЖДЕНИЕ: файл не существует! ;

% goto doitagain;

%конец;
3
ответ дан 6 December 2019 в 23:13
поделиться

Я знаю, что это устаревший поток, но:

SYNTAXCHECK - это хорошо; вместо того, чтобы работать голым из-за проблемы & syserr (на самом деле & syscc), вы можете просто очистить его до последнего заведомо исправного значения, как только вы пройдете этот чувствительный участок кода.

Вот соответствующие фрагменты кода, когда я пришлось изящно обрабатывать ошибки заблокированной таблицы из DB2:

/*** temporarily disable ERRORABEND and SYNTAXCHECK ***/
options NOERRORABEND NOSYNTAXCHECK ;

/* save &syscc for laster restoration */
%let presyscc=&syscc;

%do until (...);
  /* do a task, handle some possible errors */
%end;

/* restore &syscc */
%let syscc=&presyscc;

/*** re-enable ERRORABEND and SYNTAXCHECK ***/
options ERRORABEND SYNTAXCHECK ;
3
ответ дан 6 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: