0 Replies Latest reply: Oct 4, 2012 2:50 AM by 965712 RSS

    Bug: Managed Provider gets TTC error

    965712
      We are getting an TTC Error followed by a hanging client. It happens when we are trying to insert into a table that has a trigger+sequence set for insert, returning the newly generated value. IQAIKG_id is Number(22).
       OracleInternal.TTC.OraBufReader.ReadLengthAndData(repOffset = 1, typeRep = 1, dataBuffer = null, offset = 0, bufLength = 13, IgnoreData = false)     
      OracleInternal.TTC.MarshallingEngine.BufferToValue(repOffset = 1, bIgnoreData = false)     
      OracleInternal.TTC.MarshallingEngine.UnmarshalUB2(bIgnoreData = false)     
      OracleInternal.TTC.MarshallingEngine.UnmarshalSB2()     
      OracleInternal.TTC.MarshallingEngine.ProcessIndicator(isNull = false, dataSize = 1)     
      OracleInternal.TTC.Accessors.Accessor.UnmarshalOneRow()     
      OracleInternal.TTC.TTCExecuteSql.ReceiveExecuteResponse(defineAccessors = null, bindAccessors = {OracleInternal.TTC.Accessors.Accessor[3]}, bHasReturningParams = true, sqlMetaData = null, statementType = DML, noOfRowsFetchedLastTime = -1, noOfRowsToFetch = 0, noOfRowsFetched = 0, queryId = 0, longFetchSize = -1, initialLOBFetchSize = 0, scnFromExecution = {long[2]}, bindDirections = {OracleInternal.Common.BindDirection[3]}, dataUnmarshaller = null)     
      OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery(commandText = "INSERT INTO \"IWAIKG\" (\"val\", \"voa_version\") VALUES (:p0, :p1) RETURNING \"IWAIKG_id\" INTO :AutoIncValue", paramColl = {Oracle.ManagedDataAccess.Client.OracleParameterCollection}, commandType = Text, connectionImpl = {OracleInternal.ServiceObjects.OracleConnectionImpl}, longFetchSize = -1, orclDependencyImpl = null, scnFromExecution = {long[2]}, bindByPositionParamColl = {Oracle.ManagedDataAccess.Client.OracleParameterCollection}, bBindParamPresent = true, isEFSelectStatement = false)     
      Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()     
      After the exception this callstack never unwinds:
      [Managed to Native Transition]     
      System.Net.Sockets.Socket.Receive(buffer, offset, size, socketFlags, errorCode)     
      System.Net.Sockets.Socket.Receive(buffer, offset, size, socketFlags)     
      OracleInternal.Network.ReaderStream.ReadIt(OB = {OracleInternal.Network.OraBuf}, len = 10)     
      OracleInternal.Network.ReaderStream.WaitForReset()     
      OracleInternal.Network.OracleCommunication.Reset()     
      OracleInternal.TTC.MarshallingEngine.ProcessReset()     
      OracleInternal.TTC.TTCExecuteSql.ReceiveExecuteResponse(defineAccessors = null, bindAccessors = {OracleInternal.TTC.Accessors.Accessor[3]}, bHasReturningParams = true, sqlMetaData = null, statementType = DML, noOfRowsFetchedLastTime = -1, noOfRowsToFetch = 0, noOfRowsFetched = 0, queryId = 0, longFetchSize = -1, initialLOBFetchSize = 0, scnFromExecution = {long[2]}, bindDirections = {OracleInternal.Common.BindDirection[3]}, dataUnmarshaller = null)     
      OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery(commandText = "INSERT INTO \"IWAIKG\" (\"val\", \"voa_version\") VALUES (:p0, :p1) RETURNING \"IWAIKG_id\" INTO :AutoIncValue", paramColl = {Oracle.ManagedDataAccess.Client.OracleParameterCollection}, commandType = Text, connectionImpl = {OracleInternal.ServiceObjects.OracleConnectionImpl}, longFetchSize = -1, orclDependencyImpl = null, scnFromExecution = {long[2]}, bindByPositionParamColl = {Oracle.ManagedDataAccess.Client.OracleParameterCollection}, bBindParamPresent = true, isEFSelectStatement = false)     
      Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()     
      Any help on this?

      Another wish: Please remove the exception that is caught internally when Enlist=dynamic is used; I think this code could be improved.

      Edited by: user13333760 on 02.10.2012 11:16

      Edited by: Tom67 on 04.10.2012 00:49