2017-11-21 3 views
-3

Wenn ich versuche, Datensatz in die Tabelle einzufügen, erhalte ich den folgenden Fehler. Ich habe keine Probleme, wenn ich update und wählen Sie Operationen für die gleiche Tabelle.ORA-03146: Ungültige Pufferlänge für TTC-Feld

Nhibernate Proviler Insert Befehl:

> INSERT INTO UserOneTimePassword 
>   (Id, 
>    Password, 
>    TryCount, 
>    CreatedOn, 
>    CreatedBy, 
>    ModifiedBy, 
>    ModifiedOn, 
>    UserId) VALUES  (hibernate_sequence.nextval, 
>    '''5618e6e426cffa1136bd078d0c875a81f1e1edd84a74980dfec579007d225424'' 
> [Type: String (0:0:0)]' /* :p0 */, 
>    '0 [Type: Int32 (0:0:0)]' /* :p1 */, 
>    '2017-11-21T09:42:34.0000000 [Type: DateTime (0:0:0)]' /* :p2 */, 
>    '0 [Type: Int64 (0:0:0)]' /* :p3 */, 
>    'NULL [Type: Int64 (0:0:0)]' /* :p4 */, 
>    'NULL [Type: DateTime (0:0:0)]' /* :p5 */, 
>    '7 [Type: Int64 (0:0:0)], :nhIdOutParam = NULL [Type: Int64 (0:0:0)]' /* :p6 */) returning Id into :nhIdOutParam 

Fehler:


Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-03146: Ungültige Pufferlänge für TTC-Feld bei OracleInternal.ServiceObjects.OracleConnectionImpl.VerifyExecution (Int32 & cursorID, Boolean bThrowArrayBindRelatedErrors, SqlStatementType sqlStatementType, Int32 arrayBindCount, OracleException & exceptionForArrayBindDML, Boolean & hasMoreRowsInDB, Boolean bFirstIterationDone) bei OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery (String Command , OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl oderclDependencyImpl, Int64 [] & scnFrom Ausführung, OracleParameterCollection & bindByPositionParamColl, Boolean & bBindParamPresent, OracleException & exceptionForArrayBindDML, OracleConnection Verbindung, OracleLogicalTransaction & oracleLogicalTransaction, Boolean isFromEF) bei Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()
bei NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery (IDbCommand cmd)
bei NHibernate.Id.Insert.OutputParamReturningDelegate.ExecuteAndExtract (IDbCommand insert, ISessionImplementor session) bei NHibernate.Id.Insert.Abstr actReturningDelegate.PerformInsert (SqlCommandInfo InsertSQL ISessionImplementor Sitzung IBinder Bindemittel)



+3

Englisch, bitte. –

Antwort

1
  • ORA-03146: ungültige Pufferlänge für TTC Feld
  • Ursache: Eine korrupte Zwei-Aufgabe Common (TTC) -Paket wurde empfangen.
  • Maßnahme: Dies ist ein interner Protokollfehler. Wenden Sie sich an Oracle Support Services.

ORA-03146

0

fand ich die Lösung.

Wenn ich entfernen GeneratedBy.Identity() und fügen GeneratedBy.Native (builder => builder.AddParam ("Sequenz", "KeysId")) im Code meiner Zuordnungstabelle funktioniert sich für mich

Tabelle ("Schlüssel"); LazyLoad(); ID (x => x.Id) .Not.Nullable(). GeneratedBy.Native (Builder => builder.AddParam ("Sequenz", "KeysId")) .Column ("Id") //.CustomType ("Int32") .Access.Property() .GeneratedBy.Identity();

Verwandte Themen