2011-02-10 5 views
5

私はリストを配備するSharePoint 2010ファームソリューションと、そのリストから読み込むWebパーツを持っています。それは実際にそれ以上のことをしますが、私は "リストを読む"の部分を過ぎることはできません。SharePoint 2010 - リストアイテムを読み取るときにエラーが発生しました。「この操作を完了できません。もう一度お試しください。

リストをクエリしてSPListItemCollectionを取得することはできますが、アイテムをループしてみると完全にあいまいなエラーが表示されます。「このアクションを完了できません。もう一度やり直してください。以下のフルスタックトレース:

[COMException (0x80004005): Cannot complete this action. 

Please try again.<nativehr>0x80004005</nativehr><nativestack></nativestack>] 
    Microsoft.SharePoint.Library.SPRequestInternalClass.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback, ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView) +0 
    Microsoft.SharePoint.Library.SPRequest.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback, ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView) +256 

[SPException: Cannot complete this action. 

Please try again.] 
    Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx) +27257906 
    Microsoft.SharePoint.Library.SPRequest.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient, String bstrUrl, String bstrListName, String bstrViewName, String bstrViewXml, SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback, ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback, ISPDataCallback pFilterLinkCallback, ISPDataCallback pSchemaCallback, ISPDataCallback pRowCountCallback, Boolean& pbMaximalView) +27639062 
    Microsoft.SharePoint.SPListItemCollection.EnsureListItemsData() +4145 
    Microsoft.SharePoint.SPListItemCollection.GetEnumerator() +146 
    X.CBAS.TargetedNav.TargetedNav.TargetedNav.getUrlsForUser() +433 
    X.CBAS.TargetedNav.TargetedNav.TargetedNav.CreateChildControls() +437 
    System.Web.UI.Control.EnsureChildControls() +146 
    X.CBAS.TargetedNav.TargetedNav.TargetedNav.OnLoad(EventArgs e) +140 
    System.Web.UI.Control.LoadRecursive() +66 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Control.LoadRecursive() +191 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428 

私は、リスト定義で数回見てきたし、私が見ることができるものから、Webパーツのコードがあるとして、それは、音になります。

リスト定義:私はエラーに実行しているよどこ

<ContentTypes> 
    <ContentTypeRef ID="0x0105"> 
    <Folder TargetName="Link" /> 
    </ContentTypeRef> 
    <ContentTypeRef ID="0x0120" /> 
</ContentTypes> 
<Fields> 
    <Field ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" ReadOnly="TRUE" Required="FALSE" Hidden="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Title"></Field> 
    <Field ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" Name="LinkTitle" Hidden="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="LinkTitle"></Field> 
    <Field ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}" Name="LinkTitleNoMenu" Hidden="TRUE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="LinkTitleNoMenu"></Field> 
    <Field ID="{081c6e4c-5c14-4f20-b23e-1a71ceb6a67c}" Name="DocIcon" DisplaceOnUpgrade="TRUE" DisplayName="$Resources:core,Type;" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="DocIcon"></Field> 
    <Field ID="{503f1caa-358e-4918-9094-4a2cdc4bc034}" Name="Edit" DisplayName="$Resources:core,Edit;" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Edit"></Field> 
    <Field ID="{c29e077d-f466-4d8e-8bbe-72b66c5f205c}" Type="URL" Name="URL" DisplayName="$Resources:core,URL;" Required="TRUE" FromBaseType="TRUE" ShowInViewForms="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="URL"></Field> 
    <Field ID="{9da97a8a-1da5-4a77-98d3-4bc10456e700}" Type="Note" Name="Comments" DisplayName="$Resources:core,Notes;" Sortable="FALSE" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Comments"></Field> 
    <Field ID="{DEDA572B-9D15-4FCE-81DA-D12EE9C29D61}" Type="Text" Name="Source" DisplayName="$Resources:X.CBAS.TargetedNav,FieldSource;" StaticName="Source" /> 
    <Field ID="{D68FEB34-BC7B-450D-8422-AA4CBA74D517}" Type="Text" Name="EpiwManagerYN" DisplayName="$Resources:X.CBAS.TargetedNav,FieldEpiwManagerYN;" StaticName="EpiwManagerYN" /> 
    <Field ID="{2a9ab6d3-268a-4c1c-9897-e5f018f87e64}" ReadOnly="TRUE" Filterable="FALSE" Type="Computed" Name="URLwMenu" DisplayName="$Resources:core,URL;" DisplayNameSrcField="URL" ClassInfo="Menu" AuthoringInfo="$Resources:core,URLwEditMenu;" ListItemMenuAllowed="Required" LinkToItemAllowed="Prohibited" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="URLwMenu"> 
    <FieldRefs> 
     <FieldRef Name="URL" /> 
     <FieldRef Name="FileLeafRef" /> 
     <FieldRef Name="FileRef" /> 
     <FieldRef Name="FSObjType" /> 
     <FieldRef Name="_EditMenuTableStart2" /> 
     <FieldRef Name="_EditMenuTableEnd" /> 
    </FieldRefs> 
    </Field> 
    <Field ID="{7A7F3660-D408-4734-9AA0-2D86E33D79AB}" ReadOnly="TRUE" Filterable="FALSE" Type="Computed" Name="URLwMenu2" DisplayName="$Resources:core,URL;" DisplayNameSrcField="URL" ClassInfo="Menu" AuthoringInfo="$Resources:core,URLwEditMenu; (old)" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="URLwMenu2"> 
    <FieldRefs> 
     <FieldRef Name="URL" /> 
     <FieldRef Name="FileLeafRef" /> 
     <FieldRef Name="FileRef" /> 
     <FieldRef Name="FSObjType" /> 
     <FieldRef Name="_EditMenuTableStart" /> 
     <FieldRef Name="_EditMenuTableEnd" /> 
    </FieldRefs> 
    </Field> 
    <Field ID="{aeaf07ee-d2fb-448b-a7a3-cf7e062d6c2a}" DisplaceOnUpgrade="TRUE" ReadOnly="TRUE" Filterable="FALSE" Type="Computed" Name="URLNoMenu" DisplayName="$Resources:core,URL;" DisplayNameSrcField="URL" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="URLNoMenu"> 
    <FieldRefs> 
     <FieldRef Name="URL" /> 
     <FieldRef Name="FileLeafRef" /> 
     <FieldRef Name="FileRef" /> 
     <FieldRef Name="FSObjType" /> 
    </FieldRefs> 
    </Field> 
</Fields> 

は、以下のコードを示していない - もう一度、何も特別:

SPQuery query = new SPQuery() { Query = this.filterQuery }; 

//Loop through the returned URL(s) and add them to the list 
foreach (SPItem item in list.getItems(query)) { //<-- Error happens here, when getting the enumerator for the SPListItemsCollection 
     returnValue.Add(this.getUrlFromItem(item)); 
} 

そして最後に、CAMLを:

<Where> 
    <FieldRef Name="Source" /> 
    <Value Type="Text">http://dev01:80/Pages/default.aspx</Value> 
</Where> 

ここで何が起こっているのかについてのご意見は、大変に感謝しています。

答えて

12

CAML構文の問題点を発見しました。

悪いCAML:

<Where> 
    <FieldRef Name="Source" /> 
    <Value Type="Text">http://dev01:80/Pages/default.aspx</Value> 
</Where> 

適切なCAML:

不思議
<Where> 
    <Eq> 
    <FieldRef Name="Source" /> 
    <Value Type="Text">http://dev01:80/Pages/default.aspx</Value> 
    </Eq> 
</Where> 

、私はこのようなエラーに悪いCAML構文の結果を見たことがありません。

+3

これは実際には非常に一般的です。「このアクションを完了できません」=「CAMLのエラー」、過去に自分自身で「楽しい」があります。 –

+0

答えをくれてありがとう!私は非常に似たような状況で同じ問題を抱えていました。:) – Abbas

関連する問題