Я запускаю один и тот же сценарий как учетную запись приложения в IIS и как запланированную задачу, и я получаю очень разные результаты.
Из IIS (как веб-страница) я могу читать, например. свойства поля и выполнять очень простые запросы, такие как
SELECT * FROM SYSTEMINFO
Итак, подключение к базе данных есть.
Что-нибудь более «продвинутое», дает всевозможные ошибки:
SELECT SYSTEMINFOID FROM SYSTEMINFO
or
SELECT COUNT(*) FROM SYSTEMINFO
or
INSERT INTO SYSTEMINFO ( SYSTEMINFOID ) VALUES (1)
обычно выдает «[Microsoft] [Драйвер ODBC Microsoft Access] Неизвестно (SQL-42000)» или «[Microsoft] [Драйвер ODBC Microsoft Access] Переполнение (SQL-42000)», что означает «отсутствует доступ или синтаксическая ошибка» в соответствии с некоторыми ms обзоры сообщений об ошибках (Довольно широкая группа ошибок...)
Если учетная запись приложения является членом Администраторов, все работает нормально (но не очень хорошее решение), любое другое членство (пользователь, опытный пользователь, оператор резервного копирования) дает ту же ошибку. (необходимо перезагрузить сервер, чтобы такие изменения вступили в силу, поэтому отладка занимает много времени.)
У пользователя есть локальные политики «Заменить токен процесса» и «Настроить квоты памяти» (а также запустить как пакет + сервис).
Среда выглядит так же (за исключением того, что в IIS добавлена веб-среда), и я вижу в диспетчере задач, что сценарии запускаются от имени учетной записи приложения.
строка подключения
DBI:ODBC:driver=Microsoft Access Driver (*.mdb);DBQ=C:\folder\Demo.mdb;
работает CGI, Perl 5.18, DBI, на IIS 8.5 Win2012 std, пул приложений использует учетную запись приложения с загрузкой профиля пользователя и олицетворением пользователя как True
Настройка же на Win 2008 R2 работает нормально.
Подключение к, например. локальная база данных ms sql express выдает ошибки SSL, даже если SSL не используется, и использует учетную запись sql для аутентификации.
Потратил четыре дня на просмотр всех странных комбинаций, какие-нибудь предложения по настройкам, которые я мог упустить?
(резюме: при запуске от имени учетной записи приложения, не являясь администратором в iis 8.5, скрипт работает, подключение к базе данных работает, но все, что выходит за рамки тривиальных запросов, приводит к нечетным ошибкам.)