GVKun编程网logo

查找DBUpdateException的原因(查找不匹配项查询向导)

3

关于查找DBUpdateException的原因和查找不匹配项查询向导的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.NETEntityFrameworkCore.DbUpdateExc

关于查找DBUpdateException的原因查找不匹配项查询向导的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.NET EntityFrameworkCore.DbUpdateException 错误、asp.net-mvc – 没有其他用户的DB上的DbUpdateConcurrencyException.解决方法失败,出现NullException错误、BatchUpdateException:批处理不会终止、com.amazonaws.mturk.service.exception.ValidationException的实例源码等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

查找DBUpdateException的原因(查找不匹配项查询向导)

查找DBUpdateException的原因(查找不匹配项查询向导)

调用时DbContext.SaveChanges,我得到一个DbUpdateException:

在EntityFramework.dll中发生了类型为’System.Data.Entity.Infrastructure.DbUpdateException’的未处理异常。附加信息:更新条目时发生错误。有关详细信息,请参见内部异常。

不幸的是,没有内部异常(至少,据我所知)。有什么办法可以弄清楚为什么会SaveChanges引发异常?至少,查看发生错误时SaveChanges尝试更新的表将很有帮助。

答案1

小编典典

当真正的异常似乎在某个地方丢失时,最好的选择是打破每个异常。不管它是被捕获还是被吞噬,无论是在您到达还是到达的范围内,调试器都会中断并允许您查看发生了什么。

有关更多信息,请参见此MSDN链接:

如何:引发异常时中断

.NET EntityFrameworkCore.DbUpdateException 错误

.NET EntityFrameworkCore.DbUpdateException 错误

Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. ---> System.Data.SqlClient.SqlException: String or binary data would be truncated.
The statement has been terminated.
   at System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__122_0(Task`1 result)
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary`2 parameterValues, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(DbContext _, ValueTuple`2 parameters, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IReadOnlyList`1 entriesToSave, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesA...

原来是数据库中的某个字段长度问题、导致数据无法导入

asp.net-mvc – 没有其他用户的DB上的DbUpdateConcurrencyException.解决方法失败,出现NullException错误

asp.net-mvc – 没有其他用户的DB上的DbUpdateConcurrencyException.解决方法失败,出现NullException错误

MVC / EF新手…我的MVC Web应用程序是首先使用数据库模型中的代码创建的,因为我已经有了数据库(sqlExpress)…

当我尝试将记录更新到数据库时,我收到以下错误:

Store update,insert,or delete statement affected an unexpected
number of rows (0). Entities may have been modified or deleted since
entities were loaded

使用从数据库实体框架模型首先使用代码生成的标准代码时出现此错误.很奇怪,因为我正在使用一台其他人无法访问的独立机器.

这是失败的代码:

if (ModelState.IsValid)
{
    db.Entry(tblPropGroup).State = EntityState.Modified;
    db.SaveChanges();
    return RedirectToAction("Index");
}

所以我写了下面的工作,一段时间完美无缺:

if (ModelState.IsValid)
{
db.Entry(_Prop).State = EntityState.Modified;
bool saveFailed;
do
{
 saveFailed = false;
 try
 {
 db.SaveChanges();
 }
 catch (dbupdateConcurrencyException ex)
 {
 saveFailed = true;
 // Update original values from the database 
 var entry = ex.Entries.Single();
 entry.OriginalValues.SetValues(entry.GetDatabaseValues());
 }
} while (saveFailed);

谁能解释为什么db.SaveChanges在没有其他用户的数据库上导致dbupdateConcurrencyException?如果我对数据进行任何更改,则没有任何区别.我有22个不同的表,我可以在这个程序中访问,如果没有这个解决方法,大约一半不会工作.

解决方法

我怀疑这与数据库上下文相关的竞争条件有关.

以下是一些答案:
side-effect of a feature called optimistic concurrency

Store update,or delete statement affected an unexpected number of rows (0) EntityFramework

这可能有所帮助.

最好使用:

using(DBContext context = new DBContext())
{
    //Entity code
}

处理您的上下文.

BatchUpdateException:批处理不会终止

BatchUpdateException:批处理不会终止

我有一个处理很大文件并将数据发送到oracle数据库的应用程序(使用Java 6,oracle 9)。

在循环中,我使用PreparedStatement ps并创建了所有使用生成的SQL语句ps.addBatch()

我有一种情况,BatchUpdateException bue在期间将a 抛出ps.executeBatch()。此时,该批处理停止执行。

我希望继续执行批处理,以便随后可以在method中检查失败的更新processUpdateCounts(bue.getUpdateCounts())

关于类BatchUpdateException的Javadoc说:

批处理更新中的命令无法正确执行并且抛出BatchUpdateException后, 驱动程序可能会或可能不会继续 处理批处理中的其余命令。

有没有一种方法可以强制执行连续性,或者我需要更改程序以使其分别执行该语句?

com.amazonaws.mturk.service.exception.ValidationException的实例源码

com.amazonaws.mturk.service.exception.ValidationException的实例源码

项目:java-aws-mturk    文件:TestRequesterService.java   
public void testValidateInvalidExternalQuestion() throws Exception {
  HITQuestion htmlQuestion = new HITQuestion(defaultInvalidExternalQuestionFileName);

  try {
    service.previewHIT(defaultHITInput,defaultHITProperties,htmlQuestion);

    fail("Expected ValidationException when previewing HIT with invalid external question." );
  }
  catch (ValidationException e) {
    // Expected exception
  }
}
项目:java-aws-mturk    文件:TestRequesterService.java   
public void testValidateInvalidHTMLQuestion() throws Exception {
  // HTMLQuestion has invalid FrameHeight
  try {
    QAPValidator.validateFile(defaultInvalidHTMLQuestionFileName);
    fail("Expected ValidationException when previewing a HIT with an invalid HTMLQuestion");
  } catch (ValidationException e) {
    // Expected exception
    assertContains("ValidationFailure was not caused by an invalid frame height.","'I am not a number; I am a free man!' is not a valid value for 'integer'",e.getMessage());
  }
}
项目:java-aws-mturk    文件:TestRequesterService.java   
public void testCreateInvalidFormattedContentHIT() throws Exception {
  HITQuestion htmlQuestion = new HITQuestion(defaultInvalidFormattedContentQuestionFileName);

  try {
    service.previewHIT(defaultHITInput,htmlQuestion);

    fail("Expected ValidationException when creating HIT with invalid formatted content." );
  }
  catch (ValidationException e) {
    // Expected exception
  }
}
项目:java-aws-mturk    文件:TestRequesterService.java   
public void testCreateScriptFormattedContentHIT() throws Exception {
  HITQuestion htmlQuestion = new HITQuestion(defaultScriptFormattedContentQuestionFileName);

  try {
    service.previewHIT(defaultHITInput,htmlQuestion);

    fail("Expected ValidationException when creating HIT with script in formatted content." );
  }
  catch (ValidationException e) {
    // Expected exception
  }
}
项目:mturksdk-java-code-maven    文件:TestRequesterService.java   
public void testValidateInvalidExternalQuestion() throws Exception {
  HITQuestion htmlQuestion = new HITQuestion(defaultInvalidExternalQuestionFileName);

  try {
    service.previewHIT(defaultHITInput,htmlQuestion);

    fail("Expected ValidationException when previewing HIT with invalid external question." );
  }
  catch (ValidationException e) {
    // Expected exception
  }
}
项目:mturksdk-java-code-maven    文件:TestRequesterService.java   
public void testValidateInvalidHTMLQuestion() throws Exception {
  // HTMLQuestion has invalid FrameHeight
  try {
    QAPValidator.validateFile(defaultInvalidHTMLQuestionFileName);
    fail("Expected ValidationException when previewing a HIT with an invalid HTMLQuestion");
  } catch (ValidationException e) {
    // Expected exception
    assertContains("ValidationFailure was not caused by an invalid frame height.",e.getMessage());
  }
}
项目:mturksdk-java-code-maven    文件:TestRequesterService.java   
public void testCreateInvalidFormattedContentHIT() throws Exception {
  HITQuestion htmlQuestion = new HITQuestion(defaultInvalidFormattedContentQuestionFileName);

  try {
    service.previewHIT(defaultHITInput,htmlQuestion);

    fail("Expected ValidationException when creating HIT with invalid formatted content." );
  }
  catch (ValidationException e) {
    // Expected exception
  }
}
项目:mturksdk-java-code-maven    文件:TestRequesterService.java   
public void testCreateScriptFormattedContentHIT() throws Exception {
  HITQuestion htmlQuestion = new HITQuestion(defaultScriptFormattedContentQuestionFileName);

  try {
    service.previewHIT(defaultHITInput,htmlQuestion);

    fail("Expected ValidationException when creating HIT with script in formatted content." );
  }
  catch (ValidationException e) {
    // Expected exception
  }
}
项目:java-aws-mturk    文件:QAPValidator.java   
public static void validate(String question) throws ValidationException,IOException {
  validate(question,false,QUESTION_FORM_XSD,false);
}
项目:java-aws-mturk    文件:QAPValidator.java   
public static void validateFile(String fileName)
  throws ValidationException,IOException {
  validate(fileName,true,false);
}
项目:mturksdk-java-code-maven    文件:QAPValidator.java   
public static void validate(String question) throws ValidationException,false);
}
项目:mturksdk-java-code-maven    文件:QAPValidator.java   
public static void validateFile(String fileName)
  throws ValidationException,false);
}

今天关于查找DBUpdateException的原因查找不匹配项查询向导的分享就到这里,希望大家有所收获,若想了解更多关于.NET EntityFrameworkCore.DbUpdateException 错误、asp.net-mvc – 没有其他用户的DB上的DbUpdateConcurrencyException.解决方法失败,出现NullException错误、BatchUpdateException:批处理不会终止、com.amazonaws.mturk.service.exception.ValidationException的实例源码等相关知识,可以在本站进行查询。

本文标签: