Como modificar la cadena de conexión(ConnectionString) a la base de datos para que funcione en un entorno de producción


Cuando habilitamos roles en ASP.NET automáticamente se genera una base de datos con el nombre ASPNETDB.MDF y se genera una cadena de conexión semejante a esta en el archivo web.config:


<add name="ASPNETDBConnectionString1" 
     connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True" 
     providerName="System.Data.SqlClient" />

Sea cual sea el uso que decidamos darle a esta base de datos, al momento de subirla a un entorno de producción, por ejemplo, un servicio de hosting que hayamos contratado, debemos cambiar la cadena de conexión anterior por la correcta que nos especifique el proveedor del servicio.

Hasta ahí todo bien, pero muchas veces con esto no es suficiente y nos da error al momento de acceder a ella desde nuestra aplicación ASP.NET. Esto sucede porque el membership provider utiliza una cadena de conexión “invisible” llamada LocalSqlServer. Para que todo funcione correctamente debemos agregar  las 2 líneas siguientes en nuestro archivo web.config:


<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" 
     connectionString="Aqui ponemos la cadena de conexion correspondiente" 
     providerName="System.Data.SqlClient"/>
Con esto en la primera línea removemos la vieja conexión LocalSqlServer, y en la segunda línea creamos una nueva con el mismo nombre y la cadena de conexión correcta.

De esta forma ya debería funcionar nuestra aplicación correctamente.

Comentarios