Ошибка Oracle TTC в MVC Entitiy Framework - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу использовать рабочий процесс Model First в Entity Framework с Oracle SQL. Я могу создавать новые элементы в БД с помощью Create Controller, но когда я хочу отобразить его, я получаю не очень подробное сообщение об ошибке 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 Database 10g Enterprise Edition, выпуск 10.2.0.2.0 - 64bi
  • Entity Framework 6.0
  • Oracle.ManagedDataAccess & EntityFramework 18.3

1 Ответ

0 голосов
/ 08 ноября 2018

Ура! Я получил ответ.

Visual Studio сгенерировала мне таблицу со свойством NCLOB. Я изменил NCLOB на VARCHAR2 и теперь, наконец, правильно отображаю список.

Обновление: Не забудьте понизить драйвер ODP.NET до 12.2 с 18.3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...