MVC实体框架中的Oracle TTC错误

oiopk7p5  于 2023-08-03  发布在  Oracle
关注(0)|答案(3)|浏览(268)

我想在Oracle SQL中使用Entity Framework中的Model First工作流。我可以使用Create Controller在db中创建新元素,但是当我想显示它时,我得到了一个不太详细的TTC错误消息:

TTC Error
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Exception: TTC Error

Source Error: 

Line 18:         public ActionResult Index()
Line 19:         {
Line 20:             return View(db.VALLALAT.ToList());
Line 21:         }
Line 22: 

Source File: ...\Controllers\VallalatController.cs    Line: 20

字符串
我得到这个错误与每个模型,得到一个数据在SQL表

[Exception: TTC Error]
   OracleInternal.TTC.TTCExecuteSql.ReceiveExecuteResponse(Accessor[]& defineAccessors, Accessor[] bindAccessors, Boolean bHasReturningParams, SQLMetaData& sqlMetaData, SqlStatementType statementType, Int64 noOfRowsFetchedLastTime, Int32 noOfRowsToFetch, Int32& noOfRowsFetched, Int64& queryId, Int32 longFetchSize, Int64 initialLOBFetchSize, Int64[] scnFromExecution, Boolean bAllInputBinds, Int32 arrayBindCount, DataUnmarshaller& dataUnmarshaller, MarshalBindParameterValueHelper& marshalBindParamsHelper, Int64[]& rowsAffectedByArrayBind, Boolean bDefineDone, Boolean& bMoreThanOneRowAffectedByDmlWithRetClause, List`1& implicitRSList, Boolean bLOBArrayFetchRequired) +3350
   OracleInternal.ServiceObjects.OracleDataReaderImpl.FetchMoreRows(Int32 noOfRowsToFetch, Boolean fillReader, Boolean returnPSTypes) +1511
   Oracle.ManagedDataAccess.Client.OracleDataReader.Read() +1365
   System.Data.Entity.Core.Common.Internal.Materialization.Shaper`1.StoreRead() +36

[EntityCommandExecutionException: An error occurred while reading from the store provider's data reader. See the inner exception for details.]
   System.Data.Entity.Core.Common.Internal.Materialization.Shaper`1.HandleReaderException(Exception e) +145
   System.Data.Entity.Core.Common.Internal.Materialization.Shaper`1.StoreRead() +49
   System.Data.Entity.Core.Common.Internal.Materialization.SimpleEnumerator.MoveNext() +41
   System.Data.Entity.Internal.LazyEnumerator`1.MoveNext() +112
   System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +387
   System.Linq.Enumerable.ToList(IEnumerable`1 source) +58


我的环境:

  • Oracle数据库10 g企业版10.2.0.2.0 - 64 bi
  • 实体框架6.0
  • Oracle.ManagedDataAccess和EntityFramework 18.3
wtzytmuj

wtzytmuj1#

太好了我找到答案了
Visual Studio为我生成了一个带有NCLOB属性的表。我将NCLOB改为VARCHAR2,现在终于可以正确显示列表了。

**更新:**不要忘记将ODP.NET驱动从18.3降级到12.2

exdqitrt

exdqitrt2#

将ODP.NET驱动程序降级到12.2

b4qexyjb

b4qexyjb3#

正如Benzo所说的“将NCLOB更改为VARCHAR2”,它对我有效不要将ODP.NET驱动程序从18.3降级为12.2(如果ODT是18.3)

相关问题