Lock SAS Tables. Блокировка таблиц SAS. Part 2

Всем добрый день.

Начну сразу с рассмотрения TestCase.

Допустим у Вас есть процесс который обращается к SAS таблице, которая периодически обновляется (допустим неким ETL процессом).

Если в момент обновления таблицы вы попробуете к ней обратиться, то схватите ошибку «невозможности блокировки таблицы»:

Как можно обойти эту пролему?

Один из возможных вариантов — можно в цикле проверять залочена ли таблица и если да, через какой-то промежуток времени опять делать проверку и так до дех пор пока не истечет ожидаемое время либо до тех пор пока таблицу не отпустит сторонний процесс и вы тогда ее спокойно заблокируете.

Привожу макрос, проверяющий в цикле осободили ли таблицу и если да, то блокирует ее.

При этом рабочий лог может выглядеть следующим образом:

Из лога видно, что макрос висел почти 20 секунд и после этого таблица была отпущена и тутже заблокирована нашим процессом. После мы уже делаем то что хотим ( в данном случае просто переливаем данные).

Да, и не забывайте разблокировать талицу когда закончите с ней работать.

P.S. оригинал макроса можно посмотреть здесь.

SAS Unlocked table in Windows. Как разлочить табличку SAS? Part2

Всем добрый день!

Сегодня будет продолжение темы залоченных таблицы, начатую здесь!

Итак сегодня мы рассмотрим с Вами пример, когда нам нужно загрузить данные в таблицу SAS несмотря на то, что таблица заблокирована другим пользователем.

И в этом нам поможет программа Unlocker.

Смотрите видео:

Думаю данное видео было полезным. Если у Вас есть какие-то вопросы можете оставлять их в комментариях к данному посту.
С уважением,
Николай.

SAS Lock Tables. Блокировка таблиц SAS. Part1

Всем добрый день!

Сегодня урок будет посвящен насущной проблеме, а именно блокировок таблиц SAS при работе с ними.

Кто уже немного поработал с SAS, наверняка уже успел с этим столкнуться.

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

Честно говоря, проводя собеседования с SAS специалистами, я всегда задаю вопрос — «А как вы боретесь с блокировками таблиц?»

Если человек отвечает, то он как минимум знает об этой проблеме и уже знает какие-нибудь пути решения.
Если же затрудняется с ответом, значит он мало работал с продуктом SAS.

В дальнейшем будет продолжения данной статьи о том как данную проблему в принципе решают.

А пока я бы хотел получить ответ от Вас, дорогие читатели.

Думаю, почитать ответы будет полезно и Вам и мне.

До скорых встреч!

С уважением,
Николай.