So stellen Sie eine Verbindung zu mysql her, indem Sie den mysql Connector über C # verwenden, ohne den Connector tatsächlich zu installieren

8

Wir haben ein dotnet 2.0-basiertes C # -Produkt, das Mysql als Datenspeicher verwendet. Wenn wir den mysql connector 6.3.6 auf dem XP / Win 7-Rechner installieren, können wir uns ohne Probleme mit dem C # -Code verbinden. Es besteht jedoch ein Problem bei der Verbindung mit der mysql-Datenbank, wenn der mysql-Konnektor tatsächlich nicht auf der Maschine installiert ist, sondern sich nur im selben Verzeichnis wie die ausführbare Datei befindet. Wir möchten den Connector nicht auf jeder einzelnen Maschine installieren, auf der das Produkt ausgeführt werden soll. Wir möchten, dass die Verbindungsdll direkt verwendet wird, wenn wir eine Drittanbieter-DLL (z. B. Logger) in unserem Code verwenden.

Auch wenn wir die Datei mysql.data.dll in das Verzeichnis kopieren, in dem die Exe installiert ist, baut sie auf, verbindet sich aber nicht mit der Datenbank.

Der angegebene Fehler ist

  

Der angeforderte .Net Framework Data Provider konnte nicht gefunden werden. Es ist möglicherweise nicht installiert   Blockquote

Technische Information:

  • Mysql 5.0
  • C #
  • Dot Net-Framework 2.0
  • Mysql Connector 6.3.6 (dasselbe Problem tritt bei Version 6.0.3 des SQL-Connectors auf)
  • Gewinne XP / Win 7

Wenn wir ASP.Net verwenden, können wir das unten angegebene Tag in web.config angeben, und wir können direkt eine Verbindung zur mysql-Datenbank herstellen, indem wir die DLL in das Verzeichnis bin stellen

%Vor%

Warum können wir nicht dasselbe in C # für die Client Server-Anwendung in der Desktop-Umgebung tun?

Jede Hilfe wird sehr geschätzt.

Kalpak

    
Kalpak 18.06.2011, 11:51
quelle

3 Antworten

2

Versuchen Sie etwas wie das (Ich habe keine möglichen Versionen / Konfigurationen überprüft, aber es funktioniert derzeit auf meinem Vista x64 für MySql einige 5,5 ... und .net Connector 6.4.3.0 - mit mysql.data.dll für v4 von .net / Mono herunterladen).

Stellen Sie sicher, dass sich die referenzierte mysql.data.dll-Assembly in Ihrem aktuellen Verzeichnis befindet.

%Vor%     
Sergei Z 07.07.2011, 15:54
quelle
0

Auf diese Seite wird nicht besonders detailliert eingegangen über .NET Framework-Abhängigkeit, aber ich vermute, dass der Mysql-Connector von einer späteren Version des .NET-Framework abhängig sein könnte.

Mit anderen Worten, Ihre Anwendung verwendet Framework 2, aber welche Version verwendet der Mysql-Connector?

    
msergeant 18.06.2011 12:02
quelle
0

Dieser Eintrag:

%Vor%

... muss in Ihre machine.config geschrieben werden.

Ich glaube, der Standardpfad sollte etwa so aussehen:

  

C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG

Aktualisieren
Sie sollten in der Lage sein, das MySQL .Net / Connector-Installationsprogramm in Ihr Installationspaket einzubinden. Der Eintrag in der Datei machine.config ist aus den gleichen Gründen erforderlich wie die Informationen in einer web.config.

    
IAbstract 29.06.2011 12:14
quelle