SHAREPOINT サーバーに再接続、1つ以上の SharePoint サーバーに対する接続が復元されました。

SHAREPOINT サーバーに再接続、1つ以上の SharePoint サーバーに対する接続が復元されました。[同期]

Access 2013 を使用して、SharePointのカスタムリストのデータを共有しています。

運用環境で、下のようなエラーが発生します。

同一のレコードを編集していると思い、レコードに編集フラグをセットして、同一レコードを同時には編集しないように排他制御を行いましたが、エラーは回避できませんでした。

 

よくメッセージを見ると「サーバーに再接続」と表示しており、サーバー切断中に編集したデータを更新しようとして競合しているようなメッセージです。

20150917_1

このエラーメッセージからわかること

1.他のユーザーが変更したのは、2015/09/12 17:56です。

2.自分の変更は、2015/09/14です。

こんなにも時間がずれているのに、どうして競合するのでしょうか?

 

どのようにして、このエラーを回避できるのか、Microsoftに問い合わせ中です。

(解答待ち)

 

同様のエラーを再現できました。

20150917_2

これで間もなく解決できそうです。

症状は、

1.一度アクセスしたテーブルが更新された場合、最新の情報に更新せずに、そのテーブルを更新した場合に発生するエラーのようです。

最新の情報に更新するには、そのテーブルをオープンすることで更新されます。

 

今回のエラーは、DoCmd.RunSQL “UPDATE **** WHERE [ID]=*** “コマンドで実行したことが原因のようです。

RunSQLコマンドは、1レコードの更新でもテーブル全体の情報を監視しているみたいで、このようなエラーが発生します。RecordSetを更新するとそのレコードだけの処理を行い通過するようです。

 

SharePointのカスタムリストを使う場合は、RunSQLで更新するのは、コマンドは簡単ですが、リスクを伴います。

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です