MySQL ODB C соединений (снова) - PullRequest
0 голосов
/ 25 марта 2020

Я знаю, что этот вопрос задавался много раз, но мой вариант немного отличается, и я потяну свои волосы, потратив несколько часов, пытаясь заставить работать одну строку кода. У меня есть база данных MySQL, и я пытаюсь подключиться с использованием ODB C. Я на Windows 10 версии 1909.

Line 13: OpenString ="DRIVER={MySQL ODBC 8.0 ANSI Driver};SERVER=localhost;DATABASE=collections;UID=edited_out;PWD=edited_out;"
Line 14: Conn = Server.Createobject("ADODB.Connection")
Line 15: Conn.open = OpenString

Приведенный код прекрасно работает на моем основном P C с Microsoft. NET Framework Версия: 4.0.30319; ASP. NET Версия: 4.8.4075.0 и DRIVER = {MySQL ODB C 5.3 Драйвер ANSI}. На тесте P C с почти идентичной конфигурацией точно такой же код, за исключением имени драйвера, дает сбой. (Microsoft. NET Framework Framework: 4.0.30319; ASP. NET Версия: 4.8.4075.0 и DRIVER = {MySQL ODB C 8.0 Драйвер ANSI} или, в этом отношении, DRIVER = {MySQL ODB C 8.0 Unicode Driver} - оба установлены.) Пожалуйста, смотрите прикрепленное изображение для доказательства. Я получаю хорошо известное и удручающее "Имя источника данных не найдено и драйвер по умолчанию не указан". Фрагмент кода и драйверы

Я понимаю, что эта ошибка почти всегда возникает из-за неправильного указания имени драйвера. Однако я проверил и перепроверил мой синтаксис и установку драйвера. Я знаю, что в моей установке ODB C нет ничего плохого, поскольку я установил LibreOffice исключительно для тестирования и смог подключиться к той же базе данных через ODB C в течение нескольких секунд на том же P C, используя тот же драйвер, показанный здесь. Есть ли что-то другое или особенно неприятное в драйверах ODB C версии 8.0? Нужно ли пытаться понизить эту версию до 5.3?

Спасибо за любую помощь.

1 Ответ

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

ИСПРАВЛЕНИЕ: Отключите 32-битные приложения для вашего сайта, если вы работаете с 64-битными!

(Отвечая на мой вопрос в надежде, что это кому-нибудь поможет.) Я понял это. Строка подключения была красная сельдь. Дальнейшая детективная работа привела меня к посту, который советовал проверять пулы приложений в IIS. Совет состоял в том, чтобы включить 32-разрядные приложения в разделе «Дополнительные параметры» для вашего сайта, если у вас есть 32-разрядные приложения, что довольно очевидно.

Однако мое приложение является 64-битным, и я заметил, что эта опция была ОТКЛЮЧЕНА на моем рабочем P C. Отключение его на другом P C восстановило соединение: очевидно, Windows по умолчанию установил несуществующий 32-битный драйвер и показал неоднозначное сообщение об ошибке, когда это не удалось. Авторы программного обеспечения, кажется, вырывают множество этих дыр, чтобы пользователи могли попасть в ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...