Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można połączyć się z mysql z Visual Studio 2015

Aby VS 2015 mógł połączyć się z MySql, musisz używać nowszej wersji bibliotek MySql. Chociaż wydaje się to dość prostą odpowiedzią, szczerze mówiąc, napotkałem po drodze kilka problemów. Mając to na uwadze, zamierzam napisać pierwszy proces, który konsekwentnie działał dla mnie, jeśli chodzi o współpracę EF z MySql i VS2015. Więc bez zbędnych ceregieli, oto kroki, które podjąłem, aby to zadziałało.

1) Upewnij się, że instalacja łącznika MySql jest zaktualizowana

2) Stwórz swój projekt internetowy

3) Otwórz Nuget

4) Zainstaluj Entity Framework

5) Wyszukaj MySQL

6) Zainstaluj MySql.Data

7) Zainstaluj MySql.Data.Entity

8) Zainstaluj MySql.Data.Entities

9) Zainstaluj MySql.Web

10) Przejdź do referencji projektu i usuń MySql.Data.Entity.EF6

11) Sprawdź wersje bibliotek MySql.Data i MySql.Web. Jeśli są pod 6.9.6, usuń je również

12) Dodaj nowe odwołanie, przechodząc do lokalizacji instalacji łącznika mysql dla Twojej wersji platformy .NET (moja to C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5) i pobieranie MySql.Data.Entity.EF6.dll (moja wersja to 6.9.6, miej to na uwadze, gdy później zmienimy web.config)

13) Jeśli inne biblioteki były również starszymi wersjami, dodaj do nich odniesienia, przeglądając folder pakietów w swoim rozwiązaniu i pobierając pliki z odpowiednich folderów. Zwykle nie muszę tego robić.

14) Teraz trzeba będzie edytować plik Web.config. Pierwszym krokiem jest zastąpienie sekcji struktury encji tym kodem (zmień numer wersji na obecną. Pamiętaj, że znalazłem ten fragment w sieci kilka tygodni temu i nie mam oryginalnego linku. Przepraszam za oryginał plakat z tą informacją.)

<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</providers>
</entityFramework>

15) Upewnij się, że sekcja DbProviderFactories pasuje do

<DbProviderFactories>
  <remove invariant="MySql.Data.MySqlClient" />
  <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>

16) Zapisz i zbuduj

Nie jestem pewien, ile z tych kroków jest faktycznie wymaganych, ale po tym, jak w końcu je otrzymałem, musiałem faktycznie trochę popracować i nie miałem czasu na dalsze zawężenie. Mam nadzieję, że to Cię poruszy.

PS Jeśli po tym wszystkim przejdziesz przez kreatora i po prostu zniknie, zanim pokaże ci tabele w bazie danych, z których można utworzyć jednostki, może to być jeden z trzech problemów, które napotkałem po drodze. Nie można skontaktować się z serwerem bazy danych. Użytkownik nie ma wymaganych uprawnień w bazie danych. Niewłaściwa wersja MySql.Data.Entity.EF6 została dodana jako odwołanie lub numer wersji jest nieprawidłowy w pliku web.config. Jeśli pobiorę ten plik z katalogu pakietów mojego rozwiązania, często napotykam problem z przerwanym kreatorem bez komunikatu o błędzie. Pobieranie go z katalogu instalacyjnego MySql za każdym razem działało dla mnie dobrze.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyświetl pełne zapytanie SQL w Pokaż listę procesów MySQL

  2. Przygotowana instrukcja PDO fetch() zwracająca podwójne wyniki

  3. mysql:skuteczny sposób na wyszukiwanie postfiksowe (jak '%text' aka. symbol wieloznaczny prefiksu)?

  4. Jak zainstalować MySQL z phpMyAdmin na Ubuntu 14.04?

  5. Wyjątek w głównym wątku java.sql.SQLException:Odmowa dostępu dla użytkownika „@”localhost” (przy użyciu hasła:NIE)