Как запустить клиент 1С 7.7 SQL на операционной системе Windows 10?

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

С обновлением парка ПК и переходом на новые поколения процессоров системные администраторы все чаще сталкиваются с невозможностью установки устаревших операционных систем, таких как Windows 7. В связи с этим возникает необходимость перевода рабочих мест пользователей 1С 7.7 на Windows 10. При попытке запустить клиентскую часть 1С 7.7 в связке с MS SQL Server на Windows 10 возникают ошибки подключения к базе данных.

Разберем подробно причины проявления этой проблемы и проанализируем проверенные способы ее решения.

Причины возникновения ошибок подключения 1С 7.7 SQL в Windows 10

Проанализируем ключевые факторы, из-за которых штатный запуск 1С 7.7 SQL на современном клиентском ПК завершается ошибкой:

  1. Несовместимость с обновленным драйвером ODBC. Платформа 1С 7.7 выполняет жесткую проверку версии системного драйвера SQL Server. В Windows 10 встроенная библиотека возвращает номер версии, который алгоритм 1С ошибочно принимает за устаревший, запрашивая драйвер версии 3.50.0303 или выше.
  2. Особенности 64-битной подсистемы SysWOW64. 1С 7.7 является 32-разрядным приложением. В 64-битных версиях Windows 10 за работу 32-битных драйверов отвечает подсистема SysWOW64. Из-за изменений в библиотеках sqlsrv32.dll, odbcbcp.dll и sqlunirl.dll старые системные вызовы 1С работают некорректно.
  3. Проверка версии MS SQL Server движком 1С. Встроенные механизмы платформы рассчитаны на работу с MS SQL 2000 или 6.5. При обращении к SQL Server из среды Windows 10 платформа блокирует запуск с сообщением о неверной версии сервера баз данных.
  4. 16-битный инсталлятор. Оригинальный дистрибутив установки 1С 7.7 содержит 16-разрядный запускной модуль, который не поддерживается 64-битными ОС Windows 10.

Способы решения проблемы

Рассмотрим практические методы настройки рабочей станции под управлением Windows 10 для корректной работы с MS SQL Server.

Способ 1. Применение пропатченной библиотеки BkEnd.dll

Наиболее надежным и распространенным решением является использование так называемого «секретного релиза» — модифицированного файла BkEnd.dll. В нем с помощью HEX-патчинга отключены встроенные проверки версии драйвера ODBC и версии MS SQL Server.

  1. Найдем каталог установки клиентской части платформы (обычно C:\Program Files (x86)\1Cv77\BIN\).
  2. Создадим резервную копию оригинального файла BkEnd.dll.
  3. Заменим оригинальный файл BkEnd.dll на пропатченную версию, в которой сняты ограничения на проверку версии ODBC и SQL Server.

Этот способ позволяет запускать 1С 7.7 SQL на Windows 10 без модификации системных библиотек самой операционной системы.

Способ 2. Подмена системных библиотек ODBC

Если нет возможности модифицировать BkEnd.dll, проанализируем вариант подмены драйверов ODBC в системе:

  1. Скопируем файлы sqlsrv32.dll, sqlsrv32.rll и odbcbcp.dll из рабочей системы Windows XP или Windows Server 2003.
  2. Поместим скопированные файлы непосредственно в каталог BIN установленной платформы 1С 7.7 (чтобы не нарушать работу других программ в системе) либо в системную папку C:\Windows\SysWOW64.
  3. Если при запуске возникает ошибка с кодом 182 или IM003 («Не удается загрузить указанный драйвер»), выполним замену библиотеки sqlunirl.dll в каталоге SysWOW64 на аналогичную библиотеку из старых дистрибутивов Windows.

Способ 3. Отключение проверки кодовой страницы

При запуске 1С 7.7 в Windows 10 часто возникает ошибка разницы кодовых страниц базы данных и операционной системы. Посмотрим, как ее устранить:

  1. Перейдем в каталог с информационной базой или в папку BIN платформы.
  2. Создадим пустой текстовый файл и переименуем его в OrdNoChk.prm.
  3. Наличие данного файла отключает проверку порядка сортировки языковой страницы при старте программы (для релизов 26 и 27).

Способ 4. Настройка прав учетной записи на MS SQL Server

Чтобы избежать ошибки «Доступ к базе возможен только из одного каталога» при подключении клиентов с Windows 10, выставим необходимые права для учетной записи SQL:

  1. В консоли управления MS SQL Server назначим пользователю, под которым подключается 1С, роль db_owner на базу данных.
  2. Назначим пользователю системную роль processadmin на уровне сервера.
  3. Предоставим явное право VIEW SERVER STATE для корректного считывания информации о текущих соединениях.

Альтернативные варианты организации работы

Если локальный запуск 1С 7.7 на клиентском ПК под управлением Windows 10 вызывает сложности, рассмотрим альтернативные архитектурные решения:

← На главную