MSDNの例に基づいてMOSSサイトのバッチ更新プログラムを作成しようとしています。http://msdn.microsoft.com/en-us/library/cc404818.aspx。残念ながら、更新クエリはエラーなしで実行されていますが、リスト内のデータは変更されません。バッチ更新コマンドを実行する際にCAMLの更新は実行中ですが、データは変更されません。(Sharepoint 2007)
<Method ID="3767">
<SetList>8468cf0a-7e10-439c-a9b4-4197543e7b38</SetList>
<SetVar Name="Cmd">Save</SetVar>
<SetVar Name="ID">3767</SetVar>
<SetVar Name="Date_x0020_of_x0020_Birth1">1971-12-18T00:00:00Z</SetVar>
</Method>
:ここ
は、私が使用してバッチコマンドであるリスト項目の
string batchReturn = web.ProcessBatchData(batch);
returns:
<Results>
<Result ID="3767" Code="0"></Result>
</Results>
メジャーバージョン番号はインクリメントされますが、変更はに行われていませんフィールドのデータ:Date_x0020_of_x0020_Birth1
私は困惑しています。
その他の背景:Date_x0020_of_x0020_Birth1は、このリストのデフォルトのコンテンツタイプに追加された新しいフィールドです。これはDateTimeフィールドです。テキストフィールドであった元のDate_x0020_of_x0020_Birthフィールド(現在は「生年月日(テキスト)」の表示名があります)に代わって、1900年1月1日以前の値を含んでいます。バッチ更新は、可能であれば、テキストフィールドの日付を新しいDateTimeフィールドにコピーすることです。
私はオフに考えることができる唯一のことは、私が使用しているということです。
<SetVar Name="Cmd">Save</SetVar>
を多分私は「更新」を必要とするか、コマンドを「保存」、私はこれを試してみました:
<Method ID="1" Cmd="Update">
<Field Name='ID'>3767</Field>
<Field Name="Date_x0020_of_x0020_Birth1">1971-12-18T00:00:00Z</Field>
</Method>
<Results>37671971-12-18T00:00:00Z<Result ID="1" Code="-2130575350">
<ErrorText>Invalid URL Parameter
The URL provided contains an invalid Command or Value. Please check the URL again.
</ErrorText>
</Result>
3767Date_x0020_of_x0020_Birth1
<Result ID="1" Code="-2147023673">
<ErrorText>The operation failed because an unexpected error occurred. (Result Code: 0x800704c7)</ErrorText>
</Result>
</Results>
感謝をUpdateListItemsを使用してみてください可能性が失敗した場合、私はURN接頭辞をしようと、私はしませんでしたそれを考えた。私は他のフィールドを試しましたが、どちらも更新されません。私は実際に週末にWebサービスを使用してこれを書き直しました(私はそれを知っていて、それを働かせる必要があったので)、UpdateListItemsサービスでうまく動作しますが、私はまだそれ。 – Iain
ありがとう、それはすべてそれだった:) – Iain