0

私は得続けます

System.InvalidOperationException: This PersistenceManager is not currently checkpointing
   Stack Trace:
      at IdeaBlade.Persistence.PersistenceManager.RollbackCheckpoint(Int32 pCount)
      at Anubis.ViewModel.ReassignCases.ReassignCasesViewModel.Reassign_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e)
      at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
      at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
      at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
      at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 

IdeaBlade.Persistence.PersistenceManagerSaveException: Save failed - Query timeout expired
IdeaBlade.Persistence.PersistenceServerException: Query timeout expired
System.Data.OleDb.OleDbException: Query timeout expired
Stack Trace:
  at IdeaBlade.Persistence.PersistenceManager.DoSaveDataSet(IEnumerable pDataRows, SaveOptions pSaveOptions)
  at IdeaBlade.Persistence.PersistenceManager.SaveChanges(IEnumerable pDataRows, SaveOptions pSaveOptions)
  at Anubis.ViewModel.ReassignCases.ReassignCasesViewModel.Reassign_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e)
  at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)

  at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
  at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

IdeaBlade DevForce 3.6.2.2 バージョンを使用している場合。これをトラブルシューティングする方法や、何が起こっているのかについての提案はありますか?

私が得る追加のエラー:

IdeaBlade.Persistence.PersistenceServerException: Login timeout expired     
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.
Named Pipes Provider: Could not open a connection to SQL Server [5]. 
  System.Data.OleDb.OleDbException: Login timeout expired
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.
Named Pipes Provider: Could not open a connection to SQL Server [5].
    Stack Trace:
    at IdeaBlade.Persistence.PersistenceManager.HandlePersistenceServerException(Exception pException, Boolean pTryToHandle, PersistenceOperation pOperation)
    at IdeaBlade.Persistence.PersistenceManager.XFetchDataSet(IEntityQuery pEntityQuery)
    at IdeaBlade.Persistence.PersistenceManager.XFetch(IEntityFinder pEntityFinder, WorkState pWorkState)
    at IdeaBlade.Persistence.PersistenceManager.XGetEntities(IEntityQuery pEntityQuery, QueryStrategy pQueryStrategy, WorkState pWorkState)
    at IdeaBlade.Persistence.PersistenceManager.GetEntities[T](IEntityQuery pEntityQuery, QueryStrategy pQueryStrategy)
    at IdeaBlade.Persistence.PersistenceManager.GetEntities[T](IEntityQuery pEntityQuery)
    at Anubis.MainWindow.RefreshData()
    at Anubis.MainWindow.Save(Boolean DisplaySaveResult, String& error)
    at Anubis.MainWindow.Autosave(Object sender, EventArgs e)
    at System.Windows.Threading.DispatcherTimer.FireTick(Object unused)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

IdeaBlade.Persistence.PersistenceServerException: Communication link failure
   TCP Provider: The semaphore timeout period has expired.
 System.Data.OleDb.OleDbException: Communication link failure
TCP Provider: The semaphore timeout period has expired.
Stack Trace:
  at IdeaBlade.Persistence.PersistenceManager.HandlePersistenceServerException(Exception pException, Boolean pTryToHandle, PersistenceOperation pOperation)
  at IdeaBlade.Persistence.PersistenceManager.XFetchDataSet(IEntityQuery pEntityQuery)
  at IdeaBlade.Persistence.PersistenceManager.XFetch(IEntityFinder pEntityFinder, WorkState pWorkState)
  at IdeaBlade.Persistence.PersistenceManager.XGetEntities(IEntityQuery pEntityQuery, QueryStrategy pQueryStrategy, WorkState pWorkState)
  at IdeaBlade.Persistence.PersistenceManager.GetEntities[T](IEntityQuery pEntityQuery, QueryStrategy pQueryStrategy)
  at Anubis.MainWindow.RunMessageRetrieval(Object sender, EventArgs e)
  at System.Windows.Threading.DispatcherTimer.FireTick(Object unused)
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
  at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

上記は非常に頻繁に発生するようで、システムが停止します。入力コミュニティに感謝します

ありがとうニック

4

1 に答える 1

0

PM.RollbackCheckpoint を呼び出し、PersistenceManager が現在チェックポイントしていない場合、InvalidOperationException がスローされます。PM.IsCheckpointing フラグをチェックして、PM がチェックポインティングであると認識しているかどうかを確認できます。そうあるべきだと思われる場合は、コードと PM が同期していない理由を特定してみてください: ロールバックしすぎていませんか? 以前にチェックポイントをクリアしましたか? 以前に保存して、新しいチェックポイントを開始していませんか? PM を誤って非スレッドセーフな方法で使用していませんか?

保存中のクエリのタイムアウトは少し奇妙です。DevForce は保存後に再フェッチを行いますが、スタック トレースがなければ、それが問題であることは明らかではありません。IPersistenceServerSaving または IPersistenceServerSaved を実装している場合は、そこでクエリを実行しているかどうかを確認してください。

于 2014-05-06T23:31:57.230 に答える