c# – 远程过程调用(RPC)协议流不正确

前端之家收集整理的这篇文章主要介绍了c# – 远程过程调用(RPC)协议流不正确前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用entityframework 5.0.我有这么多考试.如果我单独进行测试就会通过,如果我在同一时间与其他人一起运行它,它就不会通过.测试之间没有联系.每次发送一个相同的查询.它不会被修改.
**query:**

insert [dbo].[Patient]
       ([AddressId],[FirstName],[LastName],[MiddleName],[MuthersName],[Sex],[BirthDate],[TAJNumber],[Height],[Weight],[PhoneMobil],[PhoneHome],[Email],[OtherDisease])
values (13 /* @0 */,'Peter' /* @1 */,'Peter' /* @2 */,'Peter' /* @3 */,'Maria' /* @4 */,1 /* @5 */,'1991-07-04T00:00:00' /* @6 */,'5464845' /* @7 */,170 /* @8 */,66 /* @9 */,'00456249864' /* @10 */,'00456249864' /* @11 */,'alma22@mailmetrash.com' /* @12 */,null)



select [Id]
from   [dbo].[Patient]
where  @@ROWCOUNT > 0
       and [Id] = scope_identity()



**WARN:** 
System.Data.sqlClient.sqlException (0x80131904): The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 9 ("@6"): The supplied value is not a valid instance of data type datetime2. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision.
   at System.Data.sqlClient.sqlConnection.OnError(sqlException exception,Boolean breakConnection,Action`1 wrapCloseInAction)
   at System.Data.sqlClient.sqlInternalConnection.OnError(sqlException exception,Action`1 wrapCloseInAction)
   at System.Data.sqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,Boolean callerHasConnectionLock,Boolean asyncClose)
   at System.Data.sqlClient.TdsParser.TryRun(RunBehavior runBehavior,sqlCommand cmdHandler,sqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,Boolean& dataReady)
   at System.Data.sqlClient.sqlDataReader.TryConsumeMetaData()
   at System.Data.sqlClient.sqlDataReader.get_MetaData()
   at System.Data.sqlClient.sqlCommand.FinishExecuteReader(sqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)
   at System.Data.sqlClient.sqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,Boolean returnStream,Boolean async,Int32 timeout,Task& task,Boolean asyncWrite)
   at System.Data.sqlClient.sqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,String method,TaskCompletionSource`1 completion,String method)
   at System.Data.sqlClient.sqlCommand.ExecuteReader(CommandBehavior behavior,String method)
   at System.Data.sqlClient.sqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
   at HibernatingRhinos.Profiler.Appender.ProfiledDataAccess.ProfiledCommand.ExecuteDbDataReader(CommandBehavior behavior)
ClientConnectionId:c184fe10-8d28-4b0b-96bf-395796cd0e29




**exception:**
Test Name:  VM_PatientRegistration_Insert
    Test FullName:  **Insert
    Test Source:    **line 23
    Test Outcome:   Failed
Test Duration:  0:00:01,0018114

Result Message: 
Test method TandoCare.Desktop.Test.viewmodel.PatientRegistrationviewmodelTest.VM_PatientRegistration_Insert threw exception: 
System.Data.Entity.Infrastructure.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. ---> System.Data.UpdateException: An error occurred while updating the entries. See the inner exception for details. ---> System.Data.sqlClient.sqlException: The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 9 ("@6"): The supplied value is not a valid instance of data type datetime2. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision.
Result StackTrace:  
at System.Data.sqlClient.sqlConnection.OnError(sqlException exception,String method)
   at System.Data.sqlClient.sqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
   at HibernatingRhinos.Profiler.Appender.ProfiledDataAccess.ProfiledCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator,EntityConnection connection,Dictionary`2 identifierValues,List`1 generatedValues)
   at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter adapter)
 --- End of inner exception stack trace ---
    at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter adapter)
   at System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)
   at System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
   at System.Data.Entity.Internal.InternalContext.SaveChanges()
 --- End of inner exception stack trace ---
    at System.Data.Entity.Internal.InternalContext.SaveChanges()
   at System.Data.Entity.Internal.LazyInternalContext.SaveChanges()
   at System.Data.Entity.DbContext.SaveChanges()
   at TandoCare.Infrastructure.Data.UnitOfWork.UnitOfWorkBase`1.Save() in **  at TandoCare.Desktop.Test.viewmodel.PatientRegistrationviewmodelTest.VM_PatientRegistration_Insert() in *** :line 55

解决方法

当我尝试插入具有浮点数据类型的新行时,我遇到了这个问题.当我尝试插入(无穷大)或(NaN)值时抛出此异常,并且SOL Server不支持这些值.

如果您使用Entity Framework,则建议使用(http://hibernatingrhinos.com/products/EFProf/learn/).跟踪生成sql.并检测导致您的问题的参数.

如果您使用TPT (Table-Per-Type),sql事件探查器将无法帮助您.

猜你在找的C#相关文章