Я написал функцию в dll которая подключается к MS MSQ читает строчку и отсылает её. Когда я загружаю из нормальной программы EXE т.е всё работает без ошибок.
А вот когда я её загружаю в CGI/ISAPI то в окошке броузера появляется такая штука Exception EDBEngineError in module test.dll at 000862F2.
С чем это связано ?????
Re: Exception EDBEngineError in module test.dll at 000862F2
Здравствуйте ec, Вы писали:
ec>Я написал функцию в dll которая подключается к MS MSQ читает строчку и отсылает её. Когда я загружаю из нормальной программы EXE т.е всё работает без ошибок. ec>А вот когда я её загружаю в CGI/ISAPI то в окошке броузера появляется такая штука Exception EDBEngineError in module test.dll at 000862F2.
ec>С чем это связано ?????
Ты не поверишь но это значит что где-то происходит Exception. Надо как нибудь попытатся узнать где именно. Например посмотреть map файл и узнать какая процедура находится по адресу 000862F2.
Кроме того узнать текст Exception-а тоже бы помогло
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[2]: Exception EDBEngineError in module test.dll at 000862
А почему тогда в обычной EXE программе всё нормально работает ???
Вообще когда я пытаюсь подключится к базе данных из CGI вылетают подобного рода ошибки.\
Internal Server Error 500
--------------------------------------------------------------------------------
Exception: EDBEngineError
Message: An error occurred while attempting to initialize the Borland Database Engine (error $2B05)
Re[3]: Exception EDBEngineError in module test.dll at 000862
Здравствуйте ec, Вы писали:
ec>А почему тогда в обычной EXE программе всё нормально работает ???
Потому что она запущена как обычная программа.
ec> Вообще когда я пытаюсь подключится к базе данных из CGI вылетают подобного рода ошибки. ec>Internal Server Error 500
ec>-------------------------------------------------------------------------------- ec>Exception: EDBEngineError ec>Message: An error occurred while attempting to initialize the Borland Database Engine (error $2B05)
Мне кажется это потому что dll выполняется в контексте сервера, а IIS запущен с правами специального юзера, а BDE так поставлена что у этого юзера нет прав на ее использование(например из под админа)
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[4]: Exception EDBEngineError in module test.dll at 000862
Здравствуйте Anatolix, Вы писали:
A>Мне кажется это потому что dll выполняется в контексте сервера, а IIS запущен с правами специального юзера, а BDE так поставлена что у этого юзера нет прав на ее использование(например из под админа)
Т.е IIS запускает CGI с правами юзера ???
Когда этот CGI запускаю на сервере из командной строки, то всё работает (подключается к БД, и показывает содержимое).
Re[5]: Exception EDBEngineError in module test.dll at 000862
Здравствуйте ec, Вы писали:
ec>Здравствуйте Anatolix, Вы писали:
A>>Мне кажется это потому что dll выполняется в контексте сервера, а IIS запущен с правами специального юзера, а BDE так поставлена что у этого юзера нет прав на ее использование(например из под админа)
ec>Т.е IIS запускает CGI с правами юзера ???
Да у серверов специально права срезают чтобы хакерам сложнее жилось.
Найди в списке сервисов IIS и в свойствах посмотри вкладку LogOn.
Потом зайди под этим пользователем и попытайся выполнить программу
(чтобы зайти под ним скорее всего надо будет его профиль поредактировать)
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re[6]: Exception EDBEngineError in module test.dll at 000862
Сервер запущен с правами администратора, а с какими правами скрипты выполняются я тут нигде не нашёл. Я потестировал CGI на Apache, так тут точно такая же ошибка.