Может ли веб-работа теперь подключаться к базе данных SQL, размещенной на виртуальной машине Azure? Кроме того, виртуальная машина Azure размещается в Западной Европе? Если да, возможно, вы получили сообщение на портале Azure и на панели мониторинга работоспособности службы (баннер).
Вы пытались проверить значение & syserr. Все, что не равно 0, обычно указывает на проблему.
Здесь вы можете увидеть возвращаемые значения . Судя по списку, я думаю, что 1012 или 1020 - это то, что вы получаете во время ошибки сокета.
Можете ли вы проверить данные foo? Если данных нет, вы можете установить цикл повторных попыток, если данные существуют, продолжить?
Что-то вроде:
doitagain:
(введите свой код сокета здесь)
/ * посмотрите, существует ли ds * / %, если не% sysfunc (существующие (data.foo))%, то% do; / * если ds не существует, то * / % put ПРЕДУПРЕЖДЕНИЕ: файл не существует! ; % goto doitagain; %конец;
Я знаю, что это устаревший поток, но:
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 ;