Uso el control ReportViewer de Visual Studio 2008 en modo local con objetos como fuente de datos. Mis clases están mapeadas en tablas de datos en mi base de datos. En los objetos, carga objetos relacionados según sea necesario. Por lo tanto, deja la referencia nula hasta que intente utilizar la propiedad, luego intenta cargarla desde la base de datos automáticamente. Las clases usan el espacio de nombres System.Data.SqlClient.Visor de informes: solicitud del permiso de tipo SqlClientPermission failed
Cuando interactúo con los objetos en mi aplicación Windows Forms, todo funciona como se esperaba. Pero cuando paso el objeto que se utilizará como Fuente de datos de informe e intenta cargar automáticamente el objeto relacionado, falla. El código crea un objeto SqlConnection y cuando llamo GetCommand() sobre ella, la excepción siguiente:
[System.Security.SecurityException] {
"Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."
} System.Security.SecurityException
He intentado buscar el error, pero todos los resultados que se muestran son para conjuntos CLR se ejecutan en un servidor SQL o ASP.Net. He intentado añadir la siguiente llamada en mi código (como se sugiere en los resultados de búsqueda) antes de crear los objetos SqlConnection, pero al parecer no hacer nada:
System.Data.SqlClient.SqlClientPermission(System.Security.Permissions.PermissionState.Unrestricted).Assert();
¿Alguna idea?
Gracias por esto. Acabo de pasar 5 horas dando vueltas tratando de descubrir por qué mi informe no se mostraba como se esperaba. Esto solucionó mi problema de #Error. –
esto no hace ninguna diferencia, lo único que funciona es agregarlo en el web.config, que no tengo permitido hacer. – montelof