夜間にSQLサーバーDBから、好ましくはC#を使用して更新するサイトにSharepointリストがあります。ここでキャッチですが、私はレコードが削除されたか、追加されたか、またはレコードのフィールドが更新されたかどうかはわかりません。私は、最も簡単なことは、リストからデータを削除し、それを新しいリストデータに置き換えることです。しかし、これを行う簡単な方法はありますか?私はリストから行ごとに3000以上の項目を削除してから3000+レコードを1つずつ追加するのは嫌です。C# - 置き換えSharepointリストデータ夜間
答えて
環境に応じて異なります。
1)timerjobをビルドし、リストを削除します(1つずつ項目を削除する必要はありません)。これは遅くなるため、再作成してください。リストを開き、dbからアイテムをインポートします。私たちが3.000 - 5.000の要素について話しているとき、これはそれほどではなく、私は10分で完了したと思います。
2)db内で更新されている場合は、項目で共有ポイントリストをループし、フィールドでチェックします。
リストを削除して完全なテーブルをインポートすることをお勧めします。私たちはそれほど多くのデータを話していないからです。
もう1つの方法は、BCSまたはBDCを使用することです。その後、データは常に適切な場所に置かれ、dbと同期されます。この答えを見てみましょう
https://msdn.microsoft.com/en-us/library/office/jj163782.aspx
https://msdn.microsoft.com/de-de/library/ee231515(v=vs.110).aspx
ありがとうございます。私はそれがそれほど単純ではないと感じていました。私はBCS/BDCオプションを見ていきます。 –
残念ながら、SQLのdelete文のように、リスト内のすべての項目を削除することは簡単ではありません。リスト全体を削除してリストを簡単にリスト定義から作成できる場合や、SP 2007以降SPUebクラスにProcessBatchDataというメソッドがあるため、パフォーマンスが懸念される場合はリストを再作成することができます。これを使用してバッチ処理コマンドを実行すると、6000個の別々のコマンドをサーバーに発行する際のパフォーマンスの低下を回避できます。ただし、削除または追加するすべてのアイテムのリストを含む醜いXMLを渡す必要があります。
ありがとうございます。私はProcessBatchDataステートメントを検索しますが、これは私が望んだ通りではありませんでしたが、少なくとも何千もの別個のコマンドからパフォーマンスを少し上げることができます。 –
理想的な方法は、データベースからすべての行を列挙し、プライマリフィールド値を使用して各行がSharePointリストに既に存在するかどうかを確認することです。既に存在する場合は、それらを更新するだけです[1]。それ以外の場合は、新しい項目を追加できます。
[1] - オプションで、それらを更新する際に、リストアイテムフィールド値をデータベース列値と比較することができます。いずれかのフィールドに変更があった場合のみ更新してください。それ以外の場合はスキップしてください。
- 1. SharepointのpublishingWeb.currentNavigationNodesメソッドの置き換えは?
- 2. c#プレースホルダをtext.htmlに置き換えて置き換えます。
- 3. Cプリプロセッサマクロの置き換え
- 4. Visual Studio 2010のSharePoint置換可能なパラメータが置き換えられない
- 5. SharePointグループを別のグループに置き換えます
- 6. C++ doubleをcharに置き換えてstd :: arrayに置き換えます。
- 7. CHAR_BIT置き換え
- 8. O365 SharePointサイト - 既定のマスターページを置き換える方法
- 9. Sharepointを使ってファイル共有を置き換える
- 10. jQueryの/のSharePoint 2013のテキスト置き換え問題
- 11. C++でファブを置き換えよう
- 12. JavaScriptをC#に置き換え
- 13. C++でのオブジェクトの置き換え
- 14. バージョン情報を置き換える(C#)
- 15. C++の置き換え言語は?
- 16. c forループとcudaの置き換え
- 17. SharePoint Webサービスからリストデータを照会
- 18. SharePointリストデータをXMLストリングとして
- 19. URL置き換え
- 20. 文字の置き換え
- 21. メソッドの置き換え
- 22. 置き換え機能が置き換えられない
- 23. ホバーテキストを置き換えて画像に置き換えます
- 24. mscorlibの置き換え
- 25. __LINE__マクロを置き換える
- 26. C#datetime真夜中の時間形式
- 27. Skype4Comの置き換え
- 28. Pythonの()間のテキストを置き換えます
- 29. C#wcfサービスをC++/CLIサービスに置き換えよう
- 30. バックアップアプリメーカーデータ夜間
を見てください:http://stackoverflow.com/questions/35638619/sql-server-2008-update-the-table-with-データをマージプライマリキー?noredirect = 1#comment58959010_35638619 –
クイック返信ありがとう。残念ながら、私は2つのデータベーステーブルを更新するのではなく、データベーステーブルからSharepointリストを更新しています。 –