ODB C SQLDriverConnect падает при работе в качестве службы - PullRequest
0 голосов
/ 25 февраля 2020

Программное обеспечение написано в C. Он может работать как приложение (sdm -debug) или как служба (net start sdm). Я выдаю обе команды из командной строки администратора. При запуске в качестве приложения все хорошо. При запуске в качестве службы происходит сбой программного обеспечения при вызове SQLDriverConnect.

Файл журнала приложения Windows содержит следующее: Плохой путь к модулю: C: \ WINDOWS \ WinSxS \ x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.507. 9659_none_d08cfd96442b25cc \ MSVCR80.dll

Я работаю на Windows 10. Не уверен, почему программное обеспечение использует такую ​​DLL. Попытался изменить имя DLL в указанном, чтобы изменения наблюдателя, но путь, кажется, защищен.

Я создал пост в своем блоге со значительной дополнительной информацией. Пожалуйста, используйте следующую ссылку:

{https://www.johncanessa.com/2020/02/29/odbc-sqldriverconnect-crashes-additional-info/}?

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Не уверен, что именно вызвало проблему, но это произошло после получения Windows Обновления. Решение заключалось в использовании утилиты Non Sucking Service Manager (NSSM) для установки и удаления программного обеспечения для работы в качестве службы.

0 голосов
/ 29 февраля 2020

посмотрите на это https://social.technet.microsoft.com/Forums/en-US/c9f2357f-46c4-4da9-9346-66b1d406aa00/faulting-module-path-cwindowssystem32msvcr120dll?forum=w7itproappcompat, если это что-то есть в вашем коде - вам нужно предоставить это здесь. если это что-то окружающее (например, c ++ redist, как упомянуто здесь) - попробуйте другую версию или используйте предложенное решение

...