Меню

Ошибка добавления odbc dsn c windows system32 sqlsrv32 dll

  • Remove From My Forums
  • Вопрос

  • При запуске клиентского приложения 1С:Предприятие, выскакивает ошибка «Для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше». Насколько я понимаю драйвер стоит по умолчанию более старший. Лечится ли это? Или это проблема приложения?

Ответы

  • Проблема для 1С 7.7 решается следующим образом:

    1. в windowssystem32 заменяем файлы sqlsrv32.dll и sqlsrv32.rll на аналогичные из XP, предварительно перехватив ownership и full control на себя.

    2. устанавливаем крайнюю сборку 1С — 7.70.027 (должна быть у вашего продавца)

    3. в каждый каталог базы (если у вас их несколько) кладем пустой файл OrdNoChk.prm (иначе 1С будет говорить про неправильный порядок сортировки и вылетать)

    4. наслаждаемся жизнью и продолжением работы 1С 7.7 под Вистой.

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

    • Помечено в качестве ответа

      26 октября 2009 г. 7:59

Здравствуйте! С наступающим Всех.
Такое дело.
Каким образом программно можно добавить или настроить «Источник данных ODBC»?
Пробую делать так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWAREODBCODBC.INI", true);
            // Открыли папку , true означает - хотим ли мы записывать в этот раздел реестра ? 
            RegistryKey wKey = key.CreateSubKey("aliasbd");
            // Создали новую папку в реестре
            wKey.SetValue("Database", "test");
            wKey.SetValue("Description", "тестовая база");
            wKey.SetValue("Driver", @"C:Windowssystem32SQLSRV32.dll");
            wKey.SetValue("LastUser", Environment.UserName);
            wKey.SetValue("Server", "TEST-SERVER");
            wKey.SetValue("Trusted_Connection", "Yes");
            
            // MessageBox.Show("Параметры сохранены .");

но выходит так что данные добавляются в ветку реестра
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeODBC
А нужно в HKEY_LOCAL_MACHINESOFTWAREODBC
хотелось бы иметь возможность редактировать источник данных и программным способом добавлять новый в WinXP(x32)/WinXP(x64)/Win7(x32)/Win7(x64) и т.д.
Как такое реализовать?
Спасибо!

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

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

  • Remove From My Forums
  • Question

  • To all,

    When I try to create a DSN for a SQL Server, I get the error:

    «Setup routinesfor the SQL Server ODBC driver could not be accessed.  Reinstall the driver»

    The OS is WindowsXP SP2.

    I installed SQL Server 2005.

    I checked the MDAC component using a Checker Component application and there are not file mismatches.

    The version of MDAC is 2.8 SP1.

    I tried registering odbcconf.dll.  It successfully registered but I still can’t create a DSN.

    Does anyone know where I can download the ODBC driver for SQL Server?

    Thanks,

    Gloria

Answers

  • I solved the problem.

    I had sqlsrv32.dll and MDAC would not let me reinstall.

    I found an application, Component Checker on the web and it determined that I was missing the file:

    sqlsrv32.rll.

    When I installed that file I could create a DSN for SQL Server.

    Thanks for the reply.

  • Remove From My Forums
  • Question

  • To all,

    When I try to create a DSN for a SQL Server, I get the error:

    «Setup routinesfor the SQL Server ODBC driver could not be accessed.  Reinstall the driver»

    The OS is WindowsXP SP2.

    I installed SQL Server 2005.

    I checked the MDAC component using a Checker Component application and there are not file mismatches.

    The version of MDAC is 2.8 SP1.

    I tried registering odbcconf.dll.  It successfully registered but I still can’t create a DSN.

    Does anyone know where I can download the ODBC driver for SQL Server?

    Thanks,

    Gloria

Answers

  • I solved the problem.

    I had sqlsrv32.dll and MDAC would not let me reinstall.

    I found an application, Component Checker on the web and it determined that I was missing the file:

    sqlsrv32.rll.

    When I installed that file I could create a DSN for SQL Server.

    Thanks for the reply.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка допускаемая учителями при постановке вопросов
  • Ошибка дискорда не установлен маршрут