字符串的长度值超过长度在映射/参数配置

 

字符串的长度值超过长度在映射/参数配置??

 

数据库设置的参数为max ,同样的参数单独在存储过程中执行,是成功的。

在程序中就报错了??

 

 

sql中 nvachar类型

 nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。

 

 

   这上面的方式设置data 重了,SetString方法  字符有限制的。

用这种方法传参数类型为 StringClob SetParameter("data", data, NHibernate.NHibernateUtil.StringClob).

 

 

查询相关资料:

NHibernate 3.3 中如何存储长于4000字符的字符串

在NHibernate 3.3 中存储的字符串太长,会抛异常:The length of the string value exceeds the length configured in the mapping/parameter.

有人会说这是新版NHibernate的一个Bug,3.2就不会出现这样的情况。实际上,对于string类型的属性值,NHibernate默认值最大值是4000个字符,在3.2中会自动截断,在3.3中会给你抛一个异常出来,所以这并不是一个Bug,如果你想存储超过4000个字符的字符串,请在映射文件中修改该属性的类型,使用 type="StringClob" 

?
<property name= "myProp" column= "MY_PROP" not- null = "true" type= "StringClob" access= "property" ></property>
 
 
 
 
<property name="OldValue" type="string">   <column name ="OldValue" length="2147483647" not-null="false"/></property>
 
 
 
Tell me more ×                 
            Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.        
<system.web> <httpRuntime      <maxQueryStringLength="**MY NUMBER**"/>  /></system.web

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值