SharePoint Feature Receiver Error ‘The EXECUTE permission was denied…’

15 03 2010

I got this error this morning when trying to activate a web feature in a site collection. It turns out that this is because the application pool running the web application (in my case ‘Network Service’) does not have the required permissions to run some SharePoint SQL stored procedures within the configuration database.

In order to fix this error you will need to give the application pool database role WSS_Content_Application_Pools ‘Execute’ rights on the following stored procedures:

  1. proc_PutObject
  2. proc_putClass
  3. proc_dropObject
  4. proc_getNewObjects

Once you have granted this role the correct permissions you will be able to activate the feature/perform the operation you were attempting before.

Hope this helps!

Advertisements




Getting field values of an SPListItem returned from an SPQuery – watch out!

16 02 2010

I have seen and read about this gotcha before but even so I still fell for it today and it took for a couple of hours to figure out so I’ve decided to blog about it.

If you are working with SharePoint items in code which you have returned using a CAML query then you should always populate the SPQuery instance’s ViewFields property. You must include in here all the fields for which you might need to get the value of later. Failure to do this will mean the returned SPListItem instances might not contain the data for certain fields and will throw an exception (usually ‘Value was not within the expected range’).

The ViewFields property is set like this:


    <fieldref name="Title" /><fieldref name="Created" /><fieldref name="ID" />

    

You can then access a fields value on an SPListItem instance using the normal code:


    SPListItem item = list.GetItemById(1);

    string Title = item["Title"].ToString();

    

Hope this helps!!