SharePoint 2010: <nativehr>0x80020009</nativehr><nativestack></nativestack> message when using SPSiteDataQuery

22 באוגוסט 2012

תגיות: , ,
אין תגובות

נתקלתי בהודעת שגיאה בשימוש SPSiteDataQuery ב-SharePoint 2010:
<nativehr>0x80020009</nativehr><nativestack></nativestack>

קוד לדוגמא

using (Microsoft.SharePoint.SPSite Site_ =
      new Microsoft.SharePoint.SPSite("Site_URL"))
{
   using (Microsoft.SharePoint.SPWeb Web_ = Site_.OpenWeb())
   {
      Microsoft.SharePoint.
SPSiteDataQuery Query_ =
                 new Microsoft.SharePoint.SPSiteDataQuery();
      Query_.Lists =
"<Lists ServerTemplate='101' />";
      Query_.ViewFields =
"<FieldRef Name='Title' />";

      Query_.Query = @"" +
              "<OrderBy><FieldRef Name='Created' /></OrderBy>";

      System.Data.DataTable dtResult = Web_.GetSiteData(Query_);
   }
}

הפתרון
 הוספת השדה Created אשר נמצא ב-OrderBy ל-ViewFields של SPSiteDataQuery (מודגש בצהוב):
using (Microsoft.SharePoint.SPSite Site_ =
      new Microsoft.SharePoint.SPSite("Site_URL"))
{
   using (Microsoft.SharePoint.SPWeb Web_ = Site_.OpenWeb())
   {
      Microsoft.SharePoint.
SPSiteDataQuery Query_ =
                 new Microsoft.SharePoint.SPSiteDataQuery();
      Query_.Lists =
"<Lists ServerTemplate='101' />";
      Query_.ViewFields =
"<FieldRef Name='Title' />" +
                          "<FieldRef Name='Created' />"
;

      Query_.Query = @"" +
              "<OrderBy><FieldRef Name='Created' /></OrderBy>";

      System.Data.DataTable dtResult = Web_.GetSiteData(Query_);
   }
}

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *