2012-06-18 8 views
6

Ich nehme an, dass dies ein Fehler mit dem MySQL-Connector mit Mono ist, aber ich dachte, ich würde fragen, dass jemand eine Arbeit gefunden hat.C# Mono MySql-Konnektor: Konnte keine Verbindung zu einem bestimmten MySQL-Hosts

Ich habe eine VS-Lösung läuft .net 4 (neueste Mono), ich benutze die neueste Version des MySQL-Connector frisch von ihrer Website heute Morgen.

Wenn ich das Projekt mit Visual Studio öffne, kompiliere und führe den MySQL-Connector fast sofort mit der MySQL-Datenbank und alles ist gut.

Wenn ich das exakt gleiche Projekt in MonoDevelop öffne (wodurch es mit Mono anstelle von MS .net4 gebaut wird), ohne dass eine einzelne Codezeile geändert wurde, lautet die Antwort des MySQL-Connectors "Keine Verbindung zu beliebigen MySQL-Hosts möglich "

Dies kann kein Datenbankproblem sein, sonst würde ich das Problem auf beiden Builds sehen. Selbst wenn man in MonoDevelop bleibt und von dort aus mit dem MS.net-Framework baut, ergibt sich immer noch eine gute Verbindung.

Meine Verbindungszeichenfolge enthält Server, Port, uid, Passwort, Verbindungszeit, Datenbank,

Weitere Details Pooling:

Windows 7 x64 Visual Studio 2010 Mono 2.10.8 MonoDevelop 3.0.2

Ich habe eine große Anzahl von Ergebnissen von Googeln meiner Frage gesehen, aber sie scheinen alle unterschiedliche Probleme zu sein, oder aufgrund von alten Fehlern, die seither durch Methoden behoben wurden, die in diesem Fall sicherlich nicht funktioniert haben.

Edit: Kann jemand replizieren, was ich hier sehe?

+0

Haben Sie Glück gehabt, dies herauszufinden? – Brian

+0

Ich tat nicht nein, ich gab MySQL für die Aufgabe auf, die ich in den nächsten Tagen wieder versuchen werde –

+1

Es ist wahrscheinlich ein Mono-Framework-Bug. Ich verbesserte von 2.10.1 auf 2.10.9 und löste das Problem. – Brian

Antwort

0

Überprüfen Sie http://www.mono-project.com/MySQL für MySQL spezifische Anweisungen. Insbesondere stellen Sie sicher, dass MySql.Data.dll im GAC ist:

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

Es gibt auch einige Beispiel-Code auf der Seite, die helfen können.

Viel Glück.

+0

Das Fehlen der Baugruppe ist hier kein Problem, danke –

1

Versuchen Sie, "TrustedConnection" als "True" zu Ihrer Verbindungszeichenfolge hinzuzufügen. Stellen Sie außerdem sicher, dass Sie als x86 nicht "Any Cpu" erstellen. Hoffe, es hilft