2012-06-18 12 views
6

Domyślam się, że jest to błąd związany ze złączem MySQL z mono, ale pomyślałem, że zapytam kogoś, kto znalazł jakieś obejście.C# Mono Łącznik MySql: Nie można połączyć się z żadnymi określonymi hostami MySQL

Mam rozwiązanie VS z uruchomieniem .net 4 (najnowsze mono), używam najnowszej wersji złącza MySQL świeżo z ich strony internetowej dziś rano.

Jeśli otworzę projekt z visual studio, skompiluję i uruchomię złącze MySQL łączy się z bazą danych MySQL prawie natychmiast i wszystko jest w porządku.

Jeśli otworzę dokładnie ten sam projekt w MonoDevelop (powodując, że będzie on zbudowany z mono zamiast MS .net4) bez zmiany pojedynczego wiersza kodu, odpowiedź MySQL będzie zawierała komunikat "Nie można połączyć się z żadnym określonym hostem MySQL "

Nie może to być problem z bazą danych, w przeciwnym razie wystąpiłby problem w obu kompilacjach. Nawet pozostawanie w MonoDevelop i budowanie z MS .net framework nadal zapewnia dobre połączenie.

Moje ciąg połączenia zawiera serwer, port, uid, hasło, limit czasu połączenia, bazy danych, buforowanie

Więcej szczegółów:

Windows 7 x64 Visual Studio 2010 Mono 2.10.8 MonoDevelop 3.0.2

Widziałem dużą liczbę wyników z wyszukiwania w Google moje pytanie, ale wszystkie wydają się być różne problemy, lub ze względu na stare błędy, które zostały naprawione przez metody, które z pewnością nie zadziałały w tym przypadku.

Edycja: czy ktoś może powielać to, co tu widzę?

+0

Czy miałeś szczęście, że to wymyśliłeś? – Brian

+0

Nie, nie, porzuciłem MySQL dla zadania, które spróbuję jeszcze raz w ciągu następnych kilku dni. –

+1

To prawdopodobnie błąd ramki mono. Uaktualniłem wersję z 2.10.1 do 2.10.9 i rozwiązałem problem. – Brian

Odpowiedz

0

Aby uzyskać szczegółowe instrukcje dotyczące MySQL, sprawdź numer http://www.mono-project.com/MySQL. W szczególności upewnij się, że plik MySql.data.dll znajduje się w GAC:

cd path_to_your MySql.Data.dll assembly 
gacutil -i MySql.Data.dll 

Istnieje również przykładowy kod na stronie, który może pomóc.

Powodzenia.

+0

Brak montażu nie stanowi tutaj problemu, ale dzięki –

1

Spróbuj dodać "TrustedConnection" jako "True" do ciągu połączenia. Upewnij się także, że budujesz jako x86, a nie "Any Cpu". Mam nadzieję, że pomaga

Powiązane problemy