Access 2002

Защищенное подключение


Будьте аккуратны при использовании метода CloseCurrentDatabase, чтобы не закрыть базу данных, загруженную сторонним приложением-клиентом автоматизации. Помните, что во время работы приложения база данных может быть открыта пользователем. Если он изменял ее объекты, то в ответ на команду закрытия программа Access выведет ряд диалоговых окон с вопросами о необходимости операции сохранения изменений. Это приведет к тайм-ауту, и метод CloseCurrentDatabase вернет сообщение об ошибке. Так что продумайте, как корректно обрабатывать подобные ситуации.

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

Итак, когда приложение-клиент автоматизации пытается подключиться к Access в защищенном режиме, на экран выводится стандартное диалоговое окно для указания имени пользователя и пароля. Далее приложение ждет ответа пользователя. Если к этому моменту окно Access еще не отображено на экране (а как вы помните, сразу после загрузки окно программы скрывается), дело плохо. Можно, конечно, перед вызовом метода OpenCurrentDatabase вывести главное окно Access и направить в буфер клавиатуры имя пользователя и пароль с помощью функции SendKeys, однако в такой многозадачной среде, как Windows, это чревато любыми неожиданностями.

Комментарии закрыты