不能快速的保存bug的确是很不爽的事情 ,不仅客户着急 领导也着急 ,自己也着急。。。。。。。。哈哈

原来好好的一个平台 简单的一个插入记录 突然就报错了

错误为 could not insert #9521

原来项目是用 NHibernate 做的插入

抛出的异常 真是无法定位到底是什么错误啊
   于是想打开vs调试下远程库

结果调试过程中 无法查询变量的值
   在调试即时窗口里  提示 表达式计算器中发生内部错误

郁闷  于是重启vs

又提示 源文件与模块生成时的不同

网上搜了下解决方案  修改 调试 --》 选项 --》 常规里面 去掉 要求源文件与原始版本相匹配 ok 了

调试过程中发现

-- 错误代码抛出的异常 为 直接的 Exception 查看了下 innerException 结果为

"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值“

理论上来说 这个表的主键设置了 自增长,查了下 果然 服务器的表 与 测试的表 不符合 应该是有人改了数据库,
   只能是修改下 hbm.xml 文件 ok ,耗时一个半小时 ,

   时间主要浪费在 vs调试 这上面 ,错误没能够明显的抛出

    调试错误后 顺便总结下吧

    innerException  msdn的地址

   http://msdn.microsoft.com/zh-cn/library/system.exception.innerexception.aspx

    总的来说 抛出innerException 能更快的定位到错误,但并不是每个Exception 都会有 innerException

   再一个 vs 的 要求源文件与原始版本匹配 ,网上还有一个解决办法是 删除bin目录 重新生成 我没试
   找了下这样做可以的原因 应该是 pdb文件储存了项目的调试信息,可能与修改不符合

   关于 pdb 文件,还真没仔细研究过。

   pdb 文件  http://www.wintellect.com/blogs/jrobbins/pdb-files-what-every-developer-must-know

   nhibernate 主键

   

(1) assigned
主键由外部程序负责生成,无需NHibernate参与。

(2) hilo
通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主
键生成 历史状态。

<!--<generator class="hilo">
<param name="table">Tbl_Basic_Identity</param>
<param name="column">ProductVerifyMessageID</param>
<param name="max_lo">0</param>
</generator>-->

(3) seqhilo
与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是主键历史
状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle。

(4) increment
主 键按数值顺序递增。此方式的实现机制为在当前应用实例中维持
一个变量,以保存着当前的最大值,之后每次需要生成主键的时候
将此值加1作为 主键。
这种方式可能产生的问题是:如果当前有多个实例访问同一个数据
库,那么由于各个实例各自维护主键状态,不同实例可能生成同样
的 主键,从而造成主键重复异常。因此,如果同一数据库有多个实
例访问,此方式必须避免使用。

(5) identity
采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL
中的主键 生成机制。

(6) sequence
采用数据库提供的sequence 机制生成主键。如Oralce 中的
Sequence。

(7) native
由 NHibernate根据底层数据库自行判断采用identity、hilo、sequence
其中一种作为主键生成方式。) uuid.hex
由 Hibernate基于128 位唯一值产生算法生成16 进制数值(编码后
以长度32 的字符串表示)作为主键。

(8) foreign
使用外部表的字段作为主键。

转载于:https://www.cnblogs.com/havid/p/3937292.html

2014-08-26 遇到的小问题相关推荐

  1. 2014/08/13 – Backbonejs

    2014/08/13 – Backbonejs [来自: Backbone.js 开发秘笈 第7章] Restful 服务调用 Collection.fetch() - 请求集合 Model.save ...

  2. 2014/08/11 – Backbonejs

    2014/08/11 – Backbonejs [来自: Backbone.js 开发秘笈 第6章] Template 用法: 通过 Underscore.js 提供的 _.template() 方法 ...

  3. 逆向教程-2014.08版电信爱游戏支付分析

    最近几个月接触到Android软件逆向 原软件地址:http://www.play.cn/game/gamedetail/5010556.htm 工具:apk改之理 步骤: 1.首先反编译文件,本人下 ...

  4. http://southpeak.github.io/blog/2014/08/02/reactiv

    2019独角兽企业重金招聘Python工程师标准>>> http://southpeak.github.io/blog/2014/08/02/reactivecocoazhi-nan ...

  5. js format 设置日期格式 将Fri Dec 12 2014 08:00:00 GMT+0800改为2014-12-12 8:00:00

    var d = new Date('Fri Dec 12 2014 08:00:00 GMT+0800');d.getFullYear() + '-' + (d.getMonth() + 1) + ' ...

  6. [原创内容] 自己编写的Windows7SP1Update离线更新安装汇总-完全开源2.0版[2016.08.26]

    授人以鱼不如授人以渔. 这是一个开放源代码的批处理版的离线更新汇总包. 送给: 1.喜欢在原版上安装更新,又觉得在线更新检测起来太慢的朋友. 2.送给喜欢折腾系统封装的朋友. 简单介绍: 分为32位和 ...

  7. 1.atd和crond两个任务管理程序的区别​ 2.指定在2023/08/26 09:00将时间写入testmail.txt文件中​3.指定在每天凌晨4:00将该时间点之前的系统日志信息备份到个目录

    一.atd与crond的区别 1.运行方式不同,at只运行一次,而crontab则是循环运行: 2.依赖的服务不同,at对应的服务时atd,而crontab对应的服务时crond: 3.at一般是临时 ...

  8. 2017.08.26 360笔试题:小明卖粉笔

    真的觉得很痛苦,就在考试结束后的几分钟,我终于调出来了,然而又有什么用呢? 这个代码写的特别烂,而且我只是自己调出来了通过了几个测试用例,不敢完全保证是对的.每次想这样偷懒不写循环的后果就是更加麻烦, ...

  9. 病毒性的抱团忽悠:互联网思维--TOMsInsight 2014.08.01

    病毒性的抱团忽悠:互联网思维 2014-08-01 TOMsInsight (过去三篇黑市分析系列报告触动了不少利益团体,给TOMsInsight带来不少麻烦.周末了我们轻松一下,分享个简单愉快的话题 ...

  10. PC2日记——坑爹的第一天2014/08/28

    我不想安慰自己说今天是因为第一次将pc2用于实际的比赛经验不足而导致的今天出现种种问题,我想说的是自从我開始干后台我所做的每一件事都是第一次,所以这绝对不是让自己免去责怪的理由:我想说的是假设我今天是 ...

最新文章

  1. 无刷新删除 Ajax,JQuery
  2. First use cursor and initially understand it
  3. 查看某段代码或语句的被调用路径的方法小结
  4. 微信小程序 html modal,微信小程序参考微信设计规范做的modal模态框
  5. 单体多字系统以及多体并行系统
  6. 切换到 oracle的 hr用户下面练习
  7. 桶排序/基数排序(Radix Sort)
  8. 移动端实现HTML5 mp3录音踩坑指南:系统播放音量变小、一些机型录音断断续续 之 MediaRecorder和AudioWorklet的终极对决
  9. vue h5微信公众号网页(总结)
  10. 联通沃商店宣布独立运作 成立小沃科技公司
  11. jsp+ssm计算机毕业设计st音乐网站论文【附源码】
  12. 从伊朗虚假新闻活动案例来看国外造谣及传谣模式
  13. 初中OJ1998【2015.8.3普及组模拟赛】饥饿的WZK(hunger)
  14. [docker]六、云计算和云的种类、4种容器网络类型、docker中常见文件和进程的作用、json、link、docker底层的隔离机制
  15. 二、 FATE实战:实现横向逻辑回归任务的训练及预测
  16. ATK-DTU-M750 物联网模块+MQTT(阿里云)配置(一)
  17. 蜂巢迷宫 c语言,最强大脑的蜂巢迷宫 创意源于此
  18. java判断字符串写法_Mybatis3 if判断字符串变态写法
  19. SAP中采购合同与采购计划协议关联性分析
  20. 淘淘商城(前台系统,展示商城首页,商品分类展示)

热门文章

  1. 第六章 Qt布局管理器Layout
  2. python标签使用教程_怎样用Python做标签云
  3. python 如何定义字典_python dict如何定义
  4. mysql innodb flush method_对innodb_flush_method的一点解释
  5. NOT IN、JOIN、IS NULL、NOT EXISTS效率对比
  6. 学计算机单招可以报那几个公立学校,为什么要选择公办单招学校,四川公办单招学校有哪些?...
  7. MFC标签页控件的使用
  8. TortoiseSVN使用帮助和下载
  9. Python应用实战-Clumper库 | 常用的数据操作函数
  10. 宁夏警官学院计算机专业,宁夏警官职业学院毕业设计模板.docx