NHibernate.Exceptions.GenericADOException

本文解析了NHibernate在尝试插入数据时遇到的一般性ADO异常,详细分析了异常产生的原因,并给出了排查解决的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

出现一般性的ADO异常的原因说明:

 

你的NHibernate配置文件没有问题,但是很可能跟你的Model配置文件有关,model配置的长度是否和数据库字段长度相等,列名是否有效,类型是否匹配,存储过程未能提供相应参数,存储过程未能声明所要用到的字段等。

 

这个问题是自己不小心造成的,不必大惊小怪,认真检查即可。

 

NHibernate.Exceptions.GenericADOException HResult=0x80131500 Message=could not insert: [Nebula.EAP.Core.Scenario.Models.CUST_UPH_NORMAL#Nebula.EAP.Core.Scenario.Models.CUST_UPH_NORMAL][SQL: INSERT INTO CUST_UPH_NORMAL (EVENT_TIME, NORMAL_UPH, USE_FLAG, STATE, EQP_CODE, WORK_STATION, MODEL_ID, DIE_PART, GRINDING_THINESS, BDCODE, BDVERSION, CUST_DEVICE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)] Source=NHibernate StackTrace: 在 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session) 在 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session) 在 NHibernate.Action.EntityInsertAction.Execute() 在 NHibernate.Engine.ActionQueue.InnerExecute(IExecutable executable) 在 NHibernate.Engine.ActionQueue.ExecuteActions[T](List`1 list) 在 NHibernate.Engine.ActionQueue.ExecuteActions() 在 NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session) 在 NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event) 在 NHibernate.Impl.SessionImpl.Flush() 在 NHibernate.Impl.SessionImpl.BeforeTransactionCompletion(ITransaction tx) 在 NHibernate.Transaction.AdoTransaction.Commit() 在 Nebula.EAP.Core.Scenario.Dao.CommonDao.SaveNormalUph(EQP_SECS_CONFIG esc, CUST_UPH_NORMAL custUphNormal) 在 F:\ProgramNew\nebula.eap.core\Nebula.EAP.Core.Scenario\Dao\CommonDao.cs 中: 第 28491 行 此异常最初是在此调用堆栈中引发的: [外部代码] 内部异常 1: OracleException: ORA-01502: 索引 'FHEAP.CUST_UPH_NORMAL_PK' 或这类索引的分区处于不可用状态
最新发布
06-19
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值