аукцион / donate / услуги / RSS / распечатать / вход 
Мой мир
Вконтакте
Одноклассники

[4 декабря 2012 | 5 декабря 2012 | 6 декабря 2012]

Почему не работает MDB на IIS 7 и выше

Начал перенос сайтов с Windows 2003 Server на Windows 2008 R2 Server Standard и обратил внимание, что часть моих сайтов не запускается. Начал копаться в исходниках и обнаружил, что проблема возникает только на сайтах использующих MDB-файлы в качестве базы данных. Долго копался и экспериментировал пока не узнал, что в 64-разрядных системах не было реализовано ODBC-драйвера. Почему так было сделано я не знаю. Может он стал не актуальным или из-за него возникают какие-то проблемы, но факт остаётся фактом. Под 64-разрядными операционными системами не возможно работать с MDB-файлами. Но, что же теперь делать? Не переводить же маленькие сайты на работу со SQL-серверами. У Майкрософта есть бесплатная реализация Microsoft SQL Server, но всё-равно переносимость сайтов, в этом случае, будет ухудшена.

Как заставить работать MDB под IIS 7 и выше? Выход есть, достаточно разрешить использование 32-разрядных приложений в используемом пуле приложений. Чтобы включить поддержку 32-разрядных приложений в IIS 7, необходимо запуститься оснастку управления IIS. В левой колонке выбрать Пулы приложений и в правой колонке отобразится список пулов приложений. В списке приложений нажимаем правой кнопкой мышки на необходимом приложении (оно совпадает с именем сайта к которому подключаем возможность работы с MDB). У вас появится вот такое контекстное меню:

IIS список пула приложений.

В нём выбираем Дополнительные параметры... и попадаем на такое меню:

Дополнительные параметры IIS пула приложений.

Ищем строчку с названием Разрешены 32-рфзрядные приложения и выбираем в ней значение True. После чего нажимаем на кнопочку OK. И наши базы MDB начинают работать на выбранном хосте который обслуживается этим приложением.

На самом деле это приводит к незначительному росту нагрузки на сервер. Если сайтов до полутора тысяч, то эта нагрузка не сильно сказывается, а если количество сайтов превышает пару тысяч, то нужно подумать о том, что лучше переводить сайты с маленьких MDB-файлов, на один большой SQL-Server. Тогда параллельно разгрузится файловая система сервера. Правда, устанавливать MSSQL Server нужно на другом хосте, а не на том где исполняются ваши сайты. В идеале MSSQL-сервер должен быть изолирован от внешней сети и подключаться отдельным кабелем к web-серверу.

Вот и всё, маленькая хитрость для решения большой проблемы.

Тэги: ИТ

Отредактировано:2020-09-25 19:01:53




4 комментария
Имя: SaraceNN 🖉
А конвертировать MDB во что-то к чему есть ODBC? Типа dbf, xls, txt в конце концов)
Комментарий оставлен: 2012-12-05 00:00:00


Имя: Orcinus Orca 🖉
SaraceNN, ODBC как такового нет для 64-разрядных ОС от Майкрософта. Можно работать только с файлами и парсить их вручную. Но это будет отъедать колоссальный объем ресурсов, по этой причине я отказался от ручного парсенья XML. Второй вариант — это переход на большие БД. А обходной вариант который пока еще работает я описал тут.
Комментарий оставлен: 2012-12-05 00:00:00


Имя: Рустам 🖉
Спасибо тебе огромное, пол ночи искал источник проблемы, а все оказалось так просто
Комментарий оставлен: 2016-07-16 00:00:00


Имя: Orcinus Orca 🖉
Рустам, успехов! Интернет для того и существует, чтобы делиться опытом.
Комментарий оставлен: 2016-07-17 00:00:00



Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.

Сообщайте мне о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: +7-902-924-70-49.

Top.Mail.Ru
Top.Mail.Ru LiveInternet Rambler's Top100 Яндекс.Метрика