jueves, 20 de noviembre de 2008

Problema con SPSqlDataSource

SPSqlDataSource: Este control no permite connection strings con las siguientes keywords: 'Integrated Security', 'Trusted_Connection'


Hay varios controles en el sitio web utilizando controles SqlDataSource. Sin embargo, en tiempo de ejecución, se dispara un error como el siguiente:

Microsoft.SharePoint.WebPartPages.DataSourceControlDisabledException: This control does not allow connection strings with the following keywords: 'Integrated Security', 'Trusted_Connection'.

Esto sucede porque el SharePoint pone un tagMapping en el web.config que mapea el SqlDataSource de ASP.NET a su SPSqlDataSource. Una solución bastante simple es la siguiente, quitar el tagmapping. Sin embargo, no podemos eliminar la línea, debemos usar el elemento remove.

<remove tagType="System.Web.UI.WebControls.SqlDataSource, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

Esto nos permitirá trabajar con el control, pero debemos tener en cuenta que para utilizar el control debemos registrar al SqlDataSource de ASP.NET como un control seguro.

<SafeControl Assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="System.Web.UI.WebControls" TypeName="SqlDataSource" Safe="True" AllowRemoteDesigner="False" />

No hay comentarios: