2009-04-30 16 views
2

Je voulais utiliser SubSonic car il est dit qu'il serait facile à utiliser et qu'il gagnerait du temps.MySQL & .NET: System.ArgumentException: Le format de la chaîne d'initialisation n'est pas conforme à la spécification à partir de l'index 0

Après 3 heures à essayer d'obtenir la chaîne de connexion pour MySQL, je suis sur le point d'abandonner.

Building configuration from C:\Documents and Settings\user\My Documents\Visual Studio 2 

008\Projects\ConfigurationItems\ConfigurationItemsMVC\Web.config 
Adding connection to MySqlDataProvider 
ERROR: Trying to execute generate 
Error Message: System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0. 

Je ne peux pas changer ceci: Message d'erreur: System.ArgumentException: Format de la chaîne d'initialisation ne se conforme pas à la spécification à partir de l'index 0.

Je reçois chaque fois que je tente de lancer subsonique .exe/générer

C'ÉTAIT TOUT SIMPLEMENT FACILE !!!

Voici mon web.config

<!-- connectionString="Persist Security Info=False;database=config;server=localhost;user id=config;Password=config" --> 
    <connectionStrings> 
    <remove name="ConfigConnectString"/> 
    <add name="ConfigConnectString" connectionString="Persist Security Info=False;database=config;server=localhost;user id=userid;Password=password" providerName="MySql.Data.MySqlClient" 
     /> 
    </connectionStrings> 

    <SubSonicService defaultProvider="ConfigDatabase"> 
     <providers> 
     <add type="SubSonic.MySqlDataProvider, SubSonic" 
      name="MySqlDataProvider" 
      generatedNamespace="Config" 
      connectionStringName="ConfigConnectString" 
      /> 

     </providers> 
    </SubSonicService> 

J'ai essayé quelques petites choses:

  1. Spécification chemin à l'aide WEBconfig/config sur le chemin d'outil externe.
  2. La rétrogradation du connecteur MySQL 6.0 .NET vers la dernière version 5.2 en ligne avec les exemples.
  3. Ajout de MySQL.Data en tant que référence directe du dossier SubSonic à la DLL.
  4. Essayer différents formats pour la chaîne de connexion, en fonction de http://www.connectionstrings.com/mysql#28

(autre chaîne de connexion: "Serveur = localhost; Base de données = config; uid = utilisateur; Pwd = mot de passe;" - aussi "bla"/" quoi que ce soit "jette la même erreur ..."

Pas de joie! Très proche d'abandonner SubSonic. S'il vous plait aidez si vous le pouvez!

Btw J'utilise Subsonic 2.2

Répondre

7

Je suis un idiot:

<SubSonicService defaultProvider="ConfigDatabase"> 

devrait être:

<SubSonicService defaultProvider="MySqlDataProvider"> 

Doh!

1

Je suppose qu'elle attend un « {0} » quelque part, car c'est l'erreur que vous obtenez lorsque vous oubliez (IIRC).

+0

voulez-vous dire la chaîne « {0} », dans la chaîne de connexion? – leonigmig

+0

Oui, vous le fournissez probablement, ou c'est ce que vous cherchez. – leppie

+0

J'avais truqué la classe du fournisseur par défaut - je suppose que c'était changer le format de la chaîne quelque part sur la ligne et ne pas fournir un '{0}' sous le capot quelque part! – leonigmig

Questions connexes