MySQL & amp; .NET: System.ArgumentException: el formato de la cadena de inicialización no se ajusta a la especificación que comienza en el índice 0
Pregunta
Quería usar SubSonic porque decía que sería fácil de usar y que ahorraría tiempo.
Después de 3 horas tratando de obtener la cadena de conexión para MySQL, estoy a punto de renunciar a ella.
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.
No puedo cambiar esto: Mensaje de error: System.ArgumentException: el formato de la cadena de inicialización no se ajusta a la especificación que comienza en el índice 0.
Lo consigo cada vez que intento ejecutar subsonic.exe / generar
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MISMO !!!!
Aquí está mi 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>
He intentado algunas cosas:
- Especificando la ruta a webconfig usando / config en la ruta de la herramienta externa.
- Descendiendo de la versión 6.0 del conector .NET de MySQL a la última versión 5.2 en línea con las muestras.
- Agregando MySQL.Data como una referencia directa desde la carpeta SubSonic a la DLL que se encuentra allí.
- Intentando varios formatos para la cadena de conexión, basado en http://www.connectionstrings.com/mysql # 28
(otra cadena de conexión: " Servidor = localhost; Base de datos = config; Uid = usuario; Pwd = contraseña; - también < quot; blah " / " todo " arroja el mismo error ...)
¡No hay alegría! Muy cerca de renunciar a SubSonic. Por favor ayuda si puedes!
Por cierto, estoy usando Subsonic 2.2
Solución
Soy un idiota:
<SubSonicService defaultProvider="ConfigDatabase">
Debería ser:
<SubSonicService defaultProvider="MySqlDataProvider">
Doh!
Otros consejos
Supongo que se espera un ' {0}
' en alguna parte, ya que ese es el error que se produce cuando se olvida (IIRC).
Consulte este blog para obtener más información sobre el formato de la cadena de inicialización