Не работает 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. Надеюсь, что у меня и у вас все же перестанут использовать устаревший софт.

Автор - Сёмин Иван

9 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, надавали по рукам больше не обновляю — работает не трогай.

  4. Sergey:

    Добрый вечер. В связки с Server 2019 какая версия SQL Server-а ? Очень интересно поскольку я сейчас устанавливать решил на Server 2012r2 в связке с SQL Server 2008r2.

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

    MS SQL 2016

  6. Артем:

    Спасибо автору!!! С этим патчем бэкэнда конечно танцы еще те:))) У себя дома попробовал срв 2016 + скул 2008, нашел пропатченный бэкэнд — работает! Там где надо было — стоял срв 2019 — не заработало:)))) Куда копать.. а тут ваша заметка!! Оказалось в файле пропатчено было ОДНО место из указанных вами двух мест. Кто его знает, что там внутри такое происходит, однако потом все заработало, СПАСИБО!! Файлы не менял в винде 2019. Сервер скул 2008 Р2.

  7. Артем:

    Еще хотел добавить по поводу 7-ки. ДО СИХ ПОР 8-ка во многих местах КОРЯВАЯ. Вообще те, кто делал — и ядро и язык и кофы писал — и проектировал, и писал и вообще идеологию создавал — они как будто многого естественного для человека не понимают. В 8-ке со временем никуда не ушли изначальные глюки и «сыроватости», из за которых поначалу не хотели с 7-ки люди переходить, а как будто укоренились и стали нормальными. Эдакая «перманентно-коряво-глючная система». Она работает, конечно — кто будет спорить. Но в ней нет элегантности, удобства использования, удобства и естественности поддержки. С ней постоянно надо плясать рядом и не одному человеку. И постоянно она вызывает негативные эмоции — как раз таки своей неестественностью. Те, кто думает чуть иначе — это скорее всего сотрудники как раз таки отделов или аутсорса поддержки, которые сидят на не намного больше, чем одном проекте, «пилят» его постоянно, допиливают, в смысле — и получают деньги более-менее. А если это пользователи — ну привыкли просто, приспособились неким образом. И просто эти люди не особо задумываются о смысле происходящего:)) МОЖНО МНОГО ЧЕГО ХОРОШЕГО сделать на 1с 8-й версии. Но — с избыточным вниманием и финансовыми вложениями. Избыточным в том смысле — что как-то сразу видится что можно было сделать лучше. Работает — да, кто будет спорить. Но — много глюков. доделывать сложно — потому что неоправданно сложный код. Нагромождения самого кода и вообще неких этих «внутренних программных структур». Во многих местах нелогичная и неестественная среда разработки (например, ПОЧЕМУ в форме у 8-ки нельзя просто написать выражение вычисляемое и получить результат, как это можно было делать в 7-ке?? Нужно только прописывать некий «параметр формы», смысл понятен — но можно было сделать и так и так.) Я на 8-ке так и не научился программировать — какое-то отторжение как было изначально, так оно и осталось. Короче — такое ощущение, что вот та «голова» с которой обычно все «гниет» в 1С думает совершенно о другом чем-то, не о том, как делать все лучше и лучше свой продукт. И та изящность 7.7. которой не могли многие нарадоваться, в 8-ке сменилась «странно-непонятной глючностью». Все работает, да. Коряво, но работает.Но — осадочек от того, как работает, когда понимаешь, что там внутри, когда каждый раз думаешь — НУ НАХРЕНА БЫЛО ТАК ДЕЛАТЬ — вот он как-то неприятно влияет. Хотя они во многом молодцы, повторюсь — такой «интеграции всего» вообще ни у кого нет. Но……Есть но, и не одно:)))

  8. Максим:

    как то можно скачать библиотеки для Windows 10? А то по ссылке не отвечают.

  9. Роман:

    Добрый день. Пытаюсь перевести базы 1с7 с 2008sql на 2019. длл`и заменил, представление sksprocesses добавил.Права назначил. Уперся в ошибку SQL State: 25000 Недопустимое состояние транзакции.
    Подскажите, если в курсе, как решить проблему. Спасибо

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

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