Подтвердить что ты не робот

Ошибка 175: указанный поставщик хранилища данных не найден

Я использую VS2010 с MySQL.NET Connector. Мой проект, который раньше работал, начал сообщать:

Ошибка 175: указанный поставщик хранилища данных не может быть найден или недействителен.

Я не знаю, почему, хотя все стало странно после того, как исправленное MS исправление для VS.

Конечно, если я прихожу к добавлению тестовой модели данных Entity Data ADO.NET в проект, мастер модели данных Entity, который генерирует файл .edmx, не отображает поставщика данных, когда я выбираю "Generate from database". Хуже того, щелчок правой кнопкой мыши и попытка сделать "Обновить модель из базы данных..." в существующем .edmx файле отправляет VS2010 в смертельную спираль диалоговых окон, которые могут быть прекращены только с помощью диспетчера задач.

Вот как я его исправляю: Shutdown VS2010. Полностью удалите соединитель MySQL. Перезагружать. Полностью установите MySQL Connector. Перезагружать. Перезапустите VS2010.

Внезапно мой поставщик данных существует. Я могу скомпилировать свой код. Также добавьте тестовые файлы .edmx. Мастер видит мою базу данных MySQL, передает тестовое соединение и строит объектные модели с моими реляционными таблицами. Я могу чистить/восстанавливать столько, сколько хочу.

Все хорошо, пока я не запустил приложение. Мое "исправление" не придерживается.

В этот момент выдается исключение, указывающее, что объект соединения возвращает null, и если я перекомпилирую без изменений кода, я снова получу ошибку Error 175. Намочите, промойте, повторите.

Некоторые qaru.site/info/88055/..., показывают, что строка подключения действительна и с использованием объекта MySqlConnection Я могу получить доступ к базе данных и загрузить мои собственные рабочие запросы в этом состоянии.

Проблема заключается в том, что поставщик хранилища данных как-то теряется или наступает, и это влияет на способность делать что-то через EntityFrameworks.

Я ищу советы о том, где искать их, если кто-то сталкивается с чем-то похожим, и если есть какие-либо полезные предложения или идеи, которые, как вы думаете, я могу попробовать.  

UPDATE. Хотя этот лакомый кусочек не помог решить мою проблему, он сделал VS2010 более стабильным: сразу после удаления .NET Connector я проверил в панели управления установленных программ и обнаружил, что установлен более старый .NET Connector. Я удалил его с панели управления, перезагрузил, а затем установил новый. VS2010 теперь запоминает поставщика базы данных для работы с EntityFrameworks. Очевидно, я установил новый соединитель MySQL, думая, что он удалит старый, вместо этого они перейдут друг на друга.

Теперь я получаю System.ArgumentException внутри System.Data.Entity.dll, указывая немного другое сообщение:

Указанный поставщик магазина не может быть найден в конфигурации или недействителен. System.ArgumentException: невозможно найти запрошенный поставщик данных .Net Framework. Он не может быть установлен.

Это происходит по методу System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName).

ЗАМЕЧАНИЕ ПО ПЕРЕСМОТРЕНИЮ. Причина вышеперечисленных выводов заключается в том, что VS2010 в конечном итоге снова потерял настройки. Но я смог удалить .Net Connector с панели управления и снова установить соединитель, без перезагрузки, и снова получил свой поставщик данных в среде. Эта часть проблемы больше напоминает ошибку VS2010, чем проблема .NET Connector.

4b9b3361

Ответ 1

Проблема исчезла после значительных обновлений - оказалось, что это была ошибка среды/драйвера.

Ответ 2

У меня была такая же ошибка после переустановки окон и забыли добавить поставщика для SQlite.
Здесь здесь, и хотя он не упоминает об этом, он полностью поддерживает VS 2010.

Ответ 3

Я только что перезапустил VS2010, и ошибка просто исчезла.

Ответ 4

Основываясь на некоторых комментариях в сети, это может быть связано с тем, что поставщик не находится в GAC.

Также может быть, что старой версией является GAC.

Проверьте, что находится в GAC, добавьте dll в GAC, если он отсутствует. Перезапустите машину после любых изменений в GAC.

Ответ 5

Я исправляю ошибку, просто перезапустив IDE.

Ответ 6

Недавно я столкнулся с этой ошибкой, и после многократного перезапуска/переустановки выяснилось, что проблема заключалась в том, что пользователь "соединителя" не имел достаточных привилегий в представлении.