MySql Connector 6.3.4.0 con ASP.net Framework 4.0
- octubre 5th, 2010
- Por sourcedev
- Publicar un comentario
Buenas, pues os dejo por aqui como conectar con MySQL usando MySQL Conector. 6.3.4.0 y ASP.net
También usando provider de membership de este conector.
Todo esto bajo un entorno IIS 7.0 (modo de canalizacion Administrada)
En primer lugar descargar MySQL conector de http://www.mysql.com/downloads/connector/net/
Primer paso , copiar las librerias DLL a nuestra carpeta BIN del proyecto WEB y añadir los ensamblados al WebConfig.
MySql.Data.dll
mysql.web.dll
MySql.Data.Entity.dll
<compilation debug="true" targetFramework="4.0"> <assemblies> <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> <add assembly="MySql.Web, Version=6.3.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D" /> <add assembly="MySql.Data, Version=6.3.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D" /> </assemblies> </compilation>
Una vez copiadas debemos de introducir en el web config los DbProviderFactories.
<system.data> <DbProviderFactories> <clear /> <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.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </DbProviderFactories> </system.data>
Una vez introducido ponemos nuestra cadena de conexion
<connectionStrings> <remove name="LocalSqlServer" /> <remove name="LocalMySqlServer" /> <add name="MySQLConnectionString" connectionString="server=TuServidor; user id=root;password=pwd;persist security info=True;database=NombreBaseDeDatos" providerName="MySql.Data.MySqlClient" /> </connectionStrings>
Si vamos a usar el provider de membership de MySQL Connector debereis añadir estas lineas.
<membership defaultProvider="MySQLMembershipProvider"> <providers> <clear /> <add connectionStringName="MySQLConnectionString" applautogenerateschema="true" applicationName="TuAplicacion" enablePasswordRetrieval="true" enablePasswordReset="false" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Clear" maxInvalidPasswordAttempts="50" minRequiredPasswordLength="3" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.3.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </providers> </membership> <roleManager enabled="true" defaultProvider="MySQLRoleProvider"> <providers> <clear /> <add connectionStringName="MySQLConnectionString" applicationName="TuAplicacion" name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.3.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </providers> </roleManager> <profile enabled="true" defaultProvider="MySqlProfileProvider"> <providers> <clear /> <add name="MySqlProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider,MySql.Web, Version=6.3.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="MySQLConnectionString" applicationName="TuAplicacion" autoGenerateSchema="true" /> </providers> <properties> <add allowAnonymous="false" defaultValue="" name="Theme" readOnly="false" serializeAs="ProviderSpecific" type="string" /> </properties> </profile>
Una vez introducido esto en el web config deberiamos poder realizar una conexion con la Base de datos MySQL, tanto con SQLDatasources como conectando directamente con un SqlCommand por código.
Si os recomiendo leer la documentacion y los bugs de esta versión en la página de MySQL para poder solventar dudas.
Espero que os ayude, a mi me vino muy bien! un saludo!
Documentacion:
http://dev.mysql.com/doc/refman/5.5/en/connector-net-tutorials-asp-roles.html
http://dev.mysql.com/doc/refman/5.5/en/connector-net-tutorials-asp-provider-session-state.html
