Elementi della query CAML con gli URL indicati
-
03-07-2019 - |
Domanda
In SP2007 / MOSS ho bisogno di eseguire una query CAML su un singolo elenco in questo modo:
<Where>
<Or>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item1.aspx</Value>
</Eq>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item4.aspx</Value>
</Eq>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item7.aspx</Value>
</Eq>
</Or>
</Where>
Il risultato pratico di questo sarebbe che ho un SPListItemCollection degli articoli per i quali avevo gli URL.
Tuttavia, visualizzo un errore 'Uno o più tipi di campo non sono installati correttamente. Vai alla pagina delle impostazioni dell'elenco per eliminare questi campi. "
Tutti gli elementi nell'elenco sono dello stesso tipo di contenuto. L'unico errore rilevante nei registri SP mostra lo stesso messaggio.
La risposta non ha risolto questo problema specifico, ma alla fine è stata corretta (oppure è necessario annidare). Il problema era che il mio campo Tipo valore avrebbe dovuto essere FileRef.
Soluzione
Questo errore è quasi sempre dovuto al fatto che la tua query CAML non è corretta. Hai provato a formattarlo in questo modo:
<Where>
<Or>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item1.aspx</Value>
</Eq>
<Or>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item4.aspx</Value>
</Eq>
<Eq>
<FieldRef Name='URL' />
<Value Type='URL'>/path/item7.aspx</Value>
</Eq>
</Or>
</Or>
</Where>
Sono abbastanza sicuro che puoi avere solo due componenti in un ramo Or o And.