Не работает 1С 7.7 в Windows Server 2019

Обновлено 25.08.2020

1с

Добрый день! Уважаемые читатели и гости одного из крупнейших 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 появилась вот такая ошибка.

Для доступа к базе данных требуется ODBS-драйвер для MS SQL Server версии 3.50.0303 или старше

Как устранить ошибку

Вся проблема в том, что вам необходимо заменить три библиотеки из старенькой Windows XP, чтобы устранить несовместимость драйвера ODBC. Вот список библиотек:

  • sqlsrv32.dll
  • sqlsrv32.rll
  • sqlunirl.dll

Загружаете архив с файлами и разархивируйте их, в итоге будет папка с тремя файлами. Далее вам нужно подложить файлы в определенное место, в зависимости от разрядности вашей операционной системы:

  • Если у вас 32-х битная ОС (x86), то вы должны скопировать файлы в каталог %systemroot%\system32
  • Если у вас 64-х битная ОС (x64), то вы должны скопировать файлы в каталог %systemroot%\SysWOW64

Если не знаете какая у вас разрядность, то смотрите по ссылке. Хочу отметить, что начиная с Windows Server 2008 R2, у серверных ОС всегда 64-х битная редакция

Хочу отметить, что при копировании более свежие версии библиотек sqlsrv32.dll, sqlsrv32.rll, sqlunirl.dll уже присутствуют в операционной системе и их нужно обязательно заменить.

Заменяем библиотеки

С большой вероятностью данные файлы у вас будут заблокированы Windows и вы не сможете их подменить, для этого нужно их высвободить.

устранить несовместимость драйвера ODBC

Для освобождения файла от какого-то процесса в системе мы воспользуемся утилитой Unlocker v1.9.2. Запускаем Unlocker от имени администратора и через проводник находим ваши файлы, пути до них я описал выше. Выбираем файлы по очереди, первым у меня будет sqlsrv32.dll.

 

Разблокировка файла в Unlocker.v1.9.2

Если у него будет блокирующий процесс, то вам нужно будет выбрать пункт освободить, у меня же он не был блокирован, поэтому я просто его перемещу. Выбираем пункт "Переместить" и нажимаем "Ok".

Перемещение файла в Unlocker.v1.9.2

Указываем папку в которую вы будите перемещать файл.

Перемещение системного файла Windows через Unlocker.v1.9.2

Операция успешно выполнена и файл перемещен. Повторяем все действия для файлов sqlsrv32.rll иsqlunirl.dll.

Для доступа к базе данных требуется ODBS-драйвер для MS SQL Server версии 3.50.0303 или старше

Теперь вы спокойно можете подложить нужные вам версии и ошибка "Для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше" должна пропасть.

Дополнительный метод

Если по какой-то причине замена файлов вам не помогла, то вы можете в каталоге с установленным 1С предприятием 7.7 найти файл bkend.dll и с помощью HEX-редактора внести изменения. Вам нужно найдите последовательность "83 FB 03 74" и замените ее на "83 FB 03 EB" (должно быть найдено 2 места исправления). После чего попробовать запустите 1С

Редактирование файла bkend.dll

На этом у меня все, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org. Надеюсь, что у меня и у вас все же перестанут использовать устаревший софт.

3 Responses to Не работает 1С 7.7 в Windows Server 2019

  1. Yaromax:

    Добрый день, победить 1С7, наверное, невозможно — у компаний сложилась своя, такая роданя и уютная конфигурация, и ничего больше им не надо, никакого перехода на 1С8.х никто делать не будет, оно же работает. А то, что работает далеко не совсем хорошо, и уже давно не отвечает никаким требованиям — какая разница?

  2. Иван Семин:

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

  3. Сергей:

    2Yaromax, каким требованиям должна отвечать? Что бы на экране тача можно было тыкать?
    EGAIS, ЭДО, ВЕТИС всё интегрируется, да может быть не совсем так элегантно как в 8.3, но работает не хуже.
    Сейчас как раз прикидывал чего будет стоить компании переход на типовую УТ, и перенос тех механизмов которые уже давно хорошо работают в 77.
    Я уже не говорю о тех отчетах и планировщиках которых создано достаточное количество. Множество фоновых проверок, которые в УТ не предусмотрены (т.к. УТ предпологает различные подходы в т.ч. ограничение на административном уровне: ай-ай-ай эту кнопку не нажимай между филиалами — руками выбирай, а когда у тебя склад мобильный, можешь нажимать, и т.п.). Понятно что это всё делается, со временем можно получить работающую систему идентичную работающей 77.
    Раз в год я заговариваю о планах перехода на 8.3 хотябы для того чтобы пользоваться готовыми решениями по интеграции ЕГАИС и МОТП (кстати, пытались воспользоваться Склад15 от Cleverence, не смогли обработать процессы лишнее считали при выдаче. Плюнули, добавили две формы, сделали всё в лучшем виде).
    На что всегда получаю один и тот же ответ: Пока не случилась ситуация что в 77 что-то не возможно сделать, сидим на 77.
    Единственное что хотелось бы это раскраска табличной части документа, пользовался exForms словил пару раз exception, полностью отказался от функционала.

    2Иван Семин, обновил как то раз server без спроса, на пол дня работа встала из-за патча win12, надавали по рукам больше не обновляю — работает не трогай.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *