当我尝试将记录插入表中时,出现以下错误。 当我对同一个表执行更新和选择操作时,我没有任何问题。
Nhibernate Proviler Insert命令:
> 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
错误:
Oracle.ManagedDataAccess.Client.OracleException(0x80004005): ORA-03146:TTC字段的缓冲区长度无效 OracleInternal.ServiceObjects.OracleConnectionImpl.VerifyExecution(的Int32&安培; cursorId,Boolean bThrowArrayBindRelatedErrors,SqlStatementType sqlStatementType,Int32 arrayBindCount,OracleException& exceptionForArrayBindDML,Boolean& hasMoreRowsInDB,布尔值 bFirstIterationDone)at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery(字符串 commandText,OracleParameterCollection paramColl,CommandType commandType,OracleConnectionImpl connectionImpl,Int32 longFetchSize, Int64 clientInitialLOBFS,OracleDependencyImpl orclDependencyImpl, 的Int64 []&安培; scnFromExecution,OracleParameterCollection& bindByPositionParamColl,Boolean& bBindParamPresent,OracleException& exceptionForArrayBindDML,OracleConnection连接, OracleLogicalTransaction&安培; oracleLogicalTransaction,Boolean isFromEF) 在Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()
在NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(IDbCommand cmd)
在 NHibernate.Id.Insert.OutputParamReturningDelegate.ExecuteAndExtract(IDbCommand的 insert,ISessionImplementor session)at NHibernate.Id.Insert.AbstractReturningDelegate.PerformInsert(SqlCommandInfo insertSQL,ISessionImplementor session,IBinder binder)
答案 0 :(得分:1)