He estado trabajando durante los últimos 7 meses en C# ASP.NET usando Visual Studio 2008 y SQL Server 2008.El permiso SELECT fue denegado en el objeto 'Dirección', base de datos 'CNET_85731', esquema 'dbo'
Hoy en día, yo estaba corriendo parte de mi solicitud que fue previamente en marcha y me dio el siguiente error:
el permiso SELECT fue denegado en el objeto 'Dirección', base de datos 'CNET_85731', esquema 'dbo'.
caminaba a través de mi código y descubrieron que este error era causado en el siguiente control de usuario:
protected void sdsAddressesList_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
if (e.AffectedRows == 0)
{
ddlAddresses.Items.Insert((0), new ListItem("No Billing Addresses", "0"));
}
}
la SQLDataSource se define como sigue:
<asp:SqlDataSource ID="sdsAddressesList" runat="server" OnSelecting="sdsAddressesList_Selecting" OnSelected="sdsAddressesList_Selected"
SelectCommand="SELECT [AddressId], [ZipPostalCode], ZipPostalCode + ' -- ' + Address1 AS CombinedAddress FROM [Address] WHERE ([CustomerID] = @CustomerID AND [IsBillingAddress] = @IsBillingAddress) ORDER BY [ZipPostalCode]"
ConnectionString="<%$ ConnectionStrings:eCoSysConnection %>">
<SelectParameters>
<asp:Parameter Name="CustomerID" Type="Int32" />
<asp:Parameter Name="IsBillingAddress" Type="Boolean" />
</SelectParameters>
</asp:SqlDataSource>
Básicamente, lo que hace el control de es recuperar una lista de direcciones para el usuario conectado de la tabla [Dirección] y luego completar la lista desplegable ddlAddresses.
La tabla de direcciones tiene los mismos permisos que el resto de las tablas en la base de datos. Tengo alrededor de 60 tablas y aproximadamente 200 procedimientos almacenados, todos trabajando alegremente lejos haciendo SELECT, etc. No hay problema. Excepto por este problema. ¿Qué diablos está pasando? No realicé ningún cambio en la base de datos ni en los permisos de la tabla.
¿Alguien puede ayudarme por favor?
Saludos
Walter
¿La cadena de conexión apunta a la base de datos correcta (una que tiene la configuración de permisos adecuada)? – shahkalpesh
Sí. la cadena de conexión en web.config es la siguiente: Uso esta misma cadena de conexión para acceder a la base de datos en todo momento. –
¿Ha cambiado algo con el inicio de sesión de Windows que está vinculado al servidor sql? – shahkalpesh