小编Tie*_*nCB的帖子

有时,使用实体框架查询Oracle DB时会出现错误"ORA-00933"但是当我重新启动webapp时,它会起作用

我已经将Entity Framework 5用于基于Web的应用程序的Oralce数据库.有时(很少发生),出现错误"ORA-00933",但是当我重新启动webapp时,它会再次运行.这是日志:

System.Data.EntityCommandExecutionException:执行命令定义时发生错误.有关详细信息,请参阅内部异常 ---> Oracle.ManagedDataAccess.Client.OracleException:ORA-00933:在OracleInternal的OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl,Int32&cursorId,Boolean bThrowArrayBindRelatedErrors,OracleException&exceptionForArrayBindDML,Boolean&hasMoreRowsInDB,Boolean bFirstIterationDone)中未正确结束SQL命令.ServiceObjects.OracleCommandImpl.ExecuteReader(字符串的CommandText,OracleParameterCollection paramColl,的CommandType命令类型,OracleConnectionImpl connectionImpl,OracleDataReaderImpl&rdrImpl,的Int32 longFetchSize,Int64的clientInitialLOBFS,OracleDependencyImpl orclDependencyImpl,Int64的[] scnForExecution,Int64的[]&scnFromExecution,OracleParameterCollection&bindByPositionParamColl,布尔逻辑bBindParamPresent,Int64的&internalInitialLOBFS ,OracleException&exceptionForArrayBindDML,Boolean isDescribeOnly,Boolean isFromEF)at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery,Boolean fillReques)在System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior行为)的Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior行为)中的t,CommandBehavior行为---内部异常堆栈跟踪结束---在系统System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute中的.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior 1.GetResults(Nullable)在系统上的System.Data.Objects.ObjectQuery 1 forMergeOption的[TResultType](ObjectContext context,ObjectParameterCollection parameterValues)来自 MOS.DAO.HisTreatment.HisTreatmentGet.GetById(Int64 id,HisTreatmentSO搜索)的1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerableSystem.Linq.Queryable.SingleOrDefault [TSource](IQueryable`1 source)的.Data.Objects.ObjectQuery 1 source
)

这是代码"HisTreatmentGet.GetById":

HIS_TREATMENT result = null;
try
{
    bool valid = true;
    using (var ctx = new AppContext())
    {
        var query = ctx.HIS_TREATMENT.AsQueryable().Where(p => p.ID == id);
        ...
        result = query.SingleOrDefault();
    }
}
catch (Exception ex)
{
    ....
}
return result; …
Run Code Online (Sandbox Code Playgroud)

oracle entity-framework

10
推荐指数
1
解决办法
1002
查看次数

标签 统计

entity-framework ×1

oracle ×1