2010-10-21 7 views
2

J'ai eu beaucoup de mal à trouver une application web MVC2 pour trouver le connecteur MySQL. Je cours CentOS 5.MySQL Connector avec mod_mono et mono 2.6.7

J'ai installé la DLL dans le GAC en utilisant la version 2.0 de l'outil

$ mono /usr/local/lib/mono/2.0/gacutil.exe -i v2/mysql.data.dll 
Installed v2/mysql.data.dll into the gac (/usr/local/lib/mono/gac) 

Je confirme qu'il a mis à jour le GAC:

$ ls /usr/local/lib/mono/gac/MySql.Data/6.3.5.0__c5687fc88969c44d/mysql.data.dll 

Je reçois l'erreur suivante lorsque j'exécute l'application:

Échec de la recherche ou du chargement du fournisseur de données .Net Framework enregistré MySql.Data.My SqlClient

J'ai créé une application simple de ligne de commande décrit ici: http://www.mono-project.com/MySQL, qui travaille sous Mono et .NET sur ma machine Windows, mais ne fonctionne pas sur ma boîte Linux.

Répondre

4

Dans la mesure où vous avez ajouté à GAC mysql.data.dll, êtes-vous sûr de référencer exactement ou peut-être MySQL.Data.dll? Linux a un système de fichiers sensible à la casse donc les références en solution le sont aussi.

1

Il y a deux problèmes:

  1. Le boîtier de la DLL comme déjà mentionné.
  2. Le fichier machine.config devait être mis à jour. Je n'avais pas besoin de faire cela du côté des fenêtres parce que le fournisseur MySql le fait automatiquement pour vous.

Pour mettre à jour vos fichiers Mono machine.config, vous devez trouver votre fichier machine.config. Dans le cas de Cent OS, ils se trouvent dans (/usr/local/etc/mono/2.0/machine.config). Je viens de copier le contenu de mon fichier Windows .NET machine.config sur mon fichier mono et cela a fonctionné.

<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.3.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

2

Bon! Juste une note: vous devez adapter le fichier machine.config en fonction de la version de Connector/Net que vous avez téléchargée (6.3.7 dans mon cas).

Questions connexes