Не работает 1С 7.7 в Windows Server 2019
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блог в рунете Pyatilistnik.og. В прошлый раз мы с вами успешно устранили ошибку "Windows Identity Foundation 0x80096002" и поняли откуда растут корни. Сегодня я хочу показать, как я столкнулся с проблемой запуска 1с предприятия 7.7 на базе Windows Server 2019, где я получал ошибку "Для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше". Хоть и старенькая версия, но даже в 2020 году она еще используется и я уверен, что моя компания не единственная в этом.
Описание проблемы
Не так давно я развернул Remote Desktop Services High Availability на базе Windows Server 2019, при попытке запустить 1С 7.7 появилась вот такая ошибка.
Как устранить ошибку
Вся проблема в том, что вам необходимо заменить три библиотеки из старенькой Windows XP, чтобы устранить несовместимость драйвера ODBC. Вот список библиотек:
- sqlsrv32.dll
- sqlsrv32.rll
- sqlunirl.dll
Загружаете архив с файлами и разархивируйте их, в итоге будет папка с тремя файлами. Далее вам нужно подложить файлы в определенное место, в зависимости от разрядности вашей операционной системы:
- Если у вас 32-х битная ОС (x86), то вы должны скопировать файлы в каталог %systemroot%\system32
- Если у вас 64-х битная ОС (x64), то вы должны скопировать файлы в каталог %systemroot%\SysWOW64
Хочу отметить, что при копировании более свежие версии библиотек sqlsrv32.dll, sqlsrv32.rll, sqlunirl.dll уже присутствуют в операционной системе и их нужно обязательно заменить.
С большой вероятностью данные файлы у вас будут заблокированы Windows и вы не сможете их подменить, для этого нужно их высвободить.
Для освобождения файла от какого-то процесса в системе мы воспользуемся утилитой Unlocker v1.9.2. Запускаем Unlocker от имени администратора и через проводник находим ваши файлы, пути до них я описал выше. Выбираем файлы по очереди, первым у меня будет sqlsrv32.dll.
Если у него будет блокирующий процесс, то вам нужно будет выбрать пункт освободить, у меня же он не был блокирован, поэтому я просто его перемещу. Выбираем пункт "Переместить" и нажимаем "Ok".
Указываем папку в которую вы будите перемещать файл.
Операция успешно выполнена и файл перемещен. Повторяем все действия для файлов sqlsrv32.rll иsqlunirl.dll.
Теперь вы спокойно можете подложить нужные вам версии и ошибка "Для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше" должна пропасть.
Дополнительный метод
Если по какой-то причине замена файлов вам не помогла, то вы можете в каталоге с установленным 1С предприятием 7.7 найти файл bkend.dll и с помощью HEX-редактора внести изменения. Вам нужно найдите последовательность "83 FB 03 74" и замените ее на "83 FB 03 EB" (должно быть найдено 2 места исправления). После чего попробовать запустите 1С
На этом у меня все, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org. Надеюсь, что у меня и у вас все же перестанут использовать устаревший софт.
Добрый день, победить 1С7, наверное, невозможно — у компаний сложилась своя, такая роданя и уютная конфигурация, и ничего больше им не надо, никакого перехода на 1С8.х никто делать не будет, оно же работает. А то, что работает далеко не совсем хорошо, и уже давно не отвечает никаким требованиям — какая разница?
Добрый день! Это проблема многих компаний, кто не обновляет софт, но когда-нибудь придет день расплаты. Вы как специалист, можете поступить так, сделать описание по переходу и обновлению на 8-ку, отдать его руководителю. И если вдруг, что-то случится, вы спокойно скажете, я вам говорил предложение по модернизации предлагал, вы сами забраковали.