Mamy produkt C# oparty na standardzie dot net 2.0, który wykorzystuje Mysql do przechowywania danych. Kiedy instalujemy złącze mysql 6.3.6 na maszynie XP/Win 7, jesteśmy w stanie połączyć się z bazą danych z kodu C# bez żadnych problemów. Ale napotykamy problem podczas łączenia się z bazą danych mysql, gdy złącze mysql nie jest faktycznie zainstalowane na komputerze, ale jest obecne tylko w tym samym katalogu, co plik wykonywalny. Nie chcemy instalować konektora na każdej maszynie, na której chcemy, aby produkt działał. Chcemy, aby dll connectory był używany bezpośrednio, ponieważ używamy dowolnego dll 3rd party (np. Logger) w naszym kodzie.Jak połączyć się z MySQL za pomocą złącza mysql przez C# bez faktycznego instalowania złącza
Nawet jeśli skopiujemy plik mysql.data.dll do tego samego katalogu, w którym jest zainstalowany program exe, będzie on kompilował, ale nie łączy się z bazą danych.
Błąd podana jest
Nie można znaleźć żądanego Provider .Net Framework danych. To nie może być zainstalowany blockquote
Informacje techniczne:
- MySQL 5.0
- C# framework 2.0
- MySQL Connector 6.3.6 (sam problem
- Dot Net występuje z ver 6.0 .3 złącza sql)
- Win XP/Win 7
Kiedy używamy ASP.NET, możemy określić tag podany poniżej do web.config i możemy połączyć się z bazą danych mysql bezpośrednio poprzez umieszczenie dll do katalogu bin
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.0.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
Dlaczego nie możemy zrobić tego samego w C# dla aplikacji serwera klienta w środowisku graficznym.
Każda pomoc jest naprawdę doceniana.
kołpak
Czy umieścisz tę samą konfigurację w aplikacji "app.config" swojej aplikacji komputerowej? – Jon
Nie ustawiliśmy tej samej konfiguracji w pliku app.config. Tag DBProviderFactories wydaje się być nieprawidłowy w app.config – Kalpak
To pytanie zaoszczędziłoby mi kilka godzin bólu głowy miesiąc temu. Cała instalacja .Net Connectora (z tego co rozumiem) dodaje wpis "Dostawca danych MySQL" do pliku machine.config. Nie użyłem instalatora i po prostu dodałem wpis do mojej konfiguracji. Byłem wyłączony i uruchomiony przy użyciu .Net ProviderFactories. – IAbstract