Mostrando entradas con la etiqueta MVC. Mostrar todas las entradas
Mostrando entradas con la etiqueta MVC. Mostrar todas las entradas

jueves, 23 de julio de 2015

Keyword not supported: 'server'

Cambie la cadena de conexión de una aplicación MVC4 Entity Framework  ya publicada. Y al ejecutarla me empezó a aparecer este error:

Keyword not supported: 'server'.

La cadena  que pasaba como parámetro estaba bien formada. Y es la que genera el asistente de cadenas de conexión del IIS.


Server=192.168.x.xx;Database=DBNombre;User ID=UrApp;Password=●●●●●●●

Aun así no funcionaba. De modo que volví a la cadena original y cambie solo los parámetros que cambiaban:

metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.xxx.xxx;initial catalog=BaseDatos;user id=usuario;password=tupassword;MultipleActiveResultSets=True;App=EntityFramework"

La ultima cadena funciona correctamente.

miércoles, 22 de julio de 2015

No databases are selected to publish

Estoy publicando una aplicación MVC4 con base de datos MS SQL 2012. Uso Visual Studio 2012. Y tengo el siguiente problema (el cual dejare registrado como soluciono en este post). La opción Publish de VS publica la aplicación pero no ejecuta los scripts para crear la base de datos, que es lo que espero de esta operación. El mensaje del dialogo Publish es:

No databases are selected to publish


Si bien tenia configurado la opción Package/Publish SQL (botón derecho sobre el proyecto y seleccionar Properties), fue necesario crear nuevamente un perfil  en la opción Publish de VS (Botón derecho sobre el proyecto y seleccionar Publish) y volver a ingresar estos para que apareciera seleccionada una base de datos en el dialogo.




Si bien es cierto aparece una base seleccionada, persiste el problema de que si vuelvo a ejecutar la opción Publish se pierden la base de datos. Por lo que obliga a borrar el Perfil e ingresar los datos. Cuando tenga la solución a este ultimo punto actualizare este post.

jueves, 29 de enero de 2015

Exportar a Excel desde una aplicacion MVC 4

El snippet que posteo a continuación permite exportar una consulta a Excel en un proyecto MVC. En particular donde uso este código es en un proyecto MVC 4.

Para quien sea nuevo en MVC. Este código debe ir en la carpeta Controller. En un archivo con nombre AlgoController.cs. En mi caso ContactoController.cs.

Los namespaces que se deben agregar son:


using System.Text.RegularExpressions;
using System.Web.UI.WebControls;
using System.Web.UI;



En la vista pongo un Javascript / Jquery como esto (Referencia: View/Reporte/Area.cshtml):
El código Javascript / Jquery  se ejecuta al presionar un botón con identificador btnExcel:
 Al momento de llenar el datasource del Gridview te puedes encontrolar con el siguiente error:

Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList().

Lo anterior ocurre cuando se trata de asociar el resultado de la consulta directamente al DataSource.Lo que se debe hacer es pasar el resultado a una coleccion. Ejemplo: resultado.ToList().

Fuente:
StackOverFlow

lunes, 1 de diciembre de 2014

Error del proveedor subyacente en Open.

Tengo un proyecto en ASP.NET MVC 4 con Entity Framework  5 que estoy publicando en un servidor de pruebas. Pero cuando cambio la cadena de conexión y posteriormente trato de logearme en la aplicación  me aparece el siguiente mensaje tanto en la maquina de desarrollo como en la de pruebas.

Error del proveedor subyacente en Open.
( The underlying provider failed on Open. )

Al debuggear encuentro este mensaje (EntityException was caught) pareciera que quien esta provocando problemas es el Entity Framework.



La forma de resolver esto en desarrollo es eliminando la cadena de conexion modificada y volver a cargar el modelo, pero esto no es valido para el servidor de pruebas.

Pero al revisar mas en detalle la informacion del debuger encuentro que mi problema son permisos del usuario en la base de datos de pruebas. No tiene permisos para hacer SELECT. plop :(

Se denegó el permiso SELECT en el objeto 'xxx', base de datos 'xxx', esquema 'dbo'.
 

Le doy permisos al usuario y sigo con mi instalacion en pruebas.