2014-08-26 遇到的小问题

 

   不能快速的保存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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fatal error: Please read “Security“ section of the manual to find out how to run mysqld as root

.通过在命令后面加上–userroot 进行强制使用root账号启动。 cd /etc/init.d mysqld --userroot 参考&#xff1a; https://blog.csdn.net/huo_wa/article/details/117550307?spm1001.2101.3001.6650.2&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECT…

取消cp别名'cp -i'(unalias)

在rhel4updae8系统是使用cp命令覆盖文件总是提示要输入yes或no&#xff0c;即使加上-f参数也无法强行覆盖。[2] 方法一&#xff1a; 输入alias命令&#xff0c;看到系统内部使用的是cp的别名。 #alias alias cpcp -i 输入unalias cp命令&#xff0c;解除别名。 unalias cp #&…

增加swap分区

在确定了服务器所需要使用的内存后&#xff0c;需要增加1024M的swap空间 具体操作&#xff1a; 1、dd if/dev/zero of/tmp/swap bs1M count1024M #创建1024M的文件块 2、mkswap /tmp/swap #创建swap文件 3、swapon /tmp/swap #激活swap文件 4、swapon -s #查看swap 5、修改…

python 实现 topk算法

这里的版本是针对的一个class的某一个成员变量进行的&#xff1a; 关于如何定义对象的比较方法&#xff0c;请参考往期文章&#xff1a;python定义对象的比较方法 class province_room_quality_data:def __init__(self, room, quality):self.room roomself.quality qualityd…

2013年,未知的旅程

去年就开始策划要辞职到外面去闯一闯&#xff0c;今年年初在上一家公司毅然辞职了&#xff0c;理由是自己需要出去锻炼锻炼。 带着一个月的工资&#xff0c;和一点积蓄&#xff0c;还有一个女朋友来到了这个我以前都没有来过的城市-深圳。 听好多人都说过深圳是个好地方&#x…

SQL基础

经过这几天我才发现原来我最弱的是数据库&#xff0c;好了现在就来补补吧 SQL(Struct Query Language) 结构化查询语言&#xff0c;属于第四代语言&#xff08;接近于自然语言&#xff09;符合主谓宾定状补 DDL (Data Define L)数据定义语言,创建一个数据库&#xff0c;创建一个…

主成分分析资料

推荐一份介绍主成分分析的资料&#xff1a;http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf&#xff0c;写的很好&#xff01; 在R语言中使用PCA&#xff1a;http://www.cnblogs.com/bigshuai/archive/2012/06/18/2553808.html 转载于:https://…

关于mysql的binlog写满磁盘而导致mysql无法连接的问题。

问题描述与追踪 首先是mysql连不上&#xff1a; [rootVM-90-225-centos ~]# mysql -uroot -p Enter password: ERROR 2002 (HY000): Cant connect to local MySQL server through socket /var/lib/mysql/mysql.sock (111)然后查看mysql的状态&#xff1a; [rootVM-90-225-c…

.NET系统架构改造的经验和教训

转自&#xff1a; http://robbinfan.com/blog/43/rid-off-dotnet-experience 在互联网行业&#xff0c;基于Unix/Linux的网站系统架构毫无疑问是当今主流的架构解决方案&#xff0c;这不仅仅是因为Linux本身足够的开放性&#xff0c;更因为围绕传统Unix/Linux社区有大量的成熟开…

yum error :No module named yum

Yum&#xff08;全称为 Yellow dog Updater, Modified&#xff09;是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理&#xff0c;能够从指定的服务器自动下载RPM包并且安装&#xff0c;可以自动处理依赖性关系&#xff0c;并且一次安装所有依赖…

403报错解决方案

403报错解决方案 服务器使用yum install httpd时出现403报错&#xff0c;参考了几个文章&#xff1a; 首先根据这篇文章&#xff1a; devcloud上yum install 安装软件报错403 打开 /root/.bashrc 文件&#xff0c;然后在最末尾可以看到 no_proxy&#xff1a; export no_pr…

控制器中获取Field值

在ASP.NET MVC程序中&#xff0c;我们需要POST Data到制器中&#xff0c;是有很多方法。但是我们想在控制器中&#xff0c;获取Feild值呢&#xff1f;怎样获取&#xff1f;你可以留意到有一个类FormCollection。它能帮助到我们解决这个问题。 举个简单的例子。在ASP.NET MVC应用…

new(std::nothrow)

new(std::nothrow) 顾名思义&#xff0c;即不抛出异常&#xff0c;当new一个对象失败时&#xff0c;默认设置该对象为NULL&#xff0c;这样可以方便的通过if(p NULL) 来判断new操作是否成功 普通的new操作&#xff0c;如果分配内存失败则会抛出异常&#xff0c;虽然后面一般也…

如何删除cygwin

网上大多数方法在不具备用户权限获取的情况下都不能工作。 国外有人通过很简单的命令行就实现了&#xff1a; Here’s how to remove Cygwin once and for all. You will need Cygwin cmd.exe 2 minutesRun cmd, navigate to C:\ (or other disk, if you have installed it in …

私有RTP协议和标准流媒体协议

先介绍下RTP协议&#xff1a; 实时传输协议RTP&#xff08;Real-time Transport Protocol&#xff09;是一个网络传输协议 &#xff0c;该协议详细说明了在互联网上传递音频和视频的标准数据包格式 。 RTP标准定义了两个子协议 &#xff0c;RTP和RTCP 数据传输协议RTP&#xff…

【python】入门学习(五)

字符串&#xff1a; 正索引&#xff0c;从0开始 和 负索引&#xff0c;从-1开始 >>> s apple >>> s[0] a >>> s[1] p >>> s[2] p >>> s[3] l >>> s[4] e >>> s[-1] e >>> s[-2] l >>> s[-3…

实现 winform 异步跨线程访问UI控件

在开发winform时经常会用到多线程防止界面出现假死现象&#xff0c;比如当你单击某个按钮时&#xff0c;需要执行很多代码&#xff0c;但是在执行过程中想实时的将当前执行的情况报告给用户&#xff0c;类型进度条或文本什么的。 这个时候很显然&#xff0c;如果你把要实现的内…

JavaScript对象的创建总结

方式 缺点 优点 基于已有对象扩充属性和方法 不可重用&#xff0c;没有约束 无 工厂方法 检测不出是什么的实例 简单封装&#xff0c;可以传参 构造方法 每创建一个对象就有开辟存放方法的空间 能通过instanceof检测出实例类型&#xff0c;可以传参 原型方式 不能…