vchar(4000)插入2000汉字报错
用的是oracle9
有一个字段设置为vchar(4000)
hibernate 映射为: <property name="complainPosition" column="complain_position" type="string" length="4000" />
obj.set....
使用template.update(obj)
当数据str.getBytes().length >2000的时候就报错:数据大小超出此类型的最大值
客户要求允许 2000个汉字,求指导。
我不想用clob类型!
另外附上一个问题:由于这样要求的字段有两个,都必须要2000个汉字,一个字段是问题,一个字段是解决办法。
配置文件为<property name="dealSituation" column="deal_situation" type="text" />
当我用两个同时用clob的时候,当其中一个数据str.getBytes().length =2500的时候,可以正常保存。
当两个字段同时插入str.getBytes().length =2500的汉字的时候,就报错:
ORA-01483: DATE 或 NUMBER 绑定变量的长度无效
我已经疯掉了,以前用sql2000,直接在数据库里设置为text或者长度为4000的字段,都不会出现问题,
神马2000个汉字都能像我们所知道的那样正常保存。PreparedStatement对字符串的要求是不能超过2000,
可以通过stmt.setCharacterStream(1, new InputStreamReader(String内容, String内容.length());
来调整。
不过我现在是用的hibernate来保存的,虽然show_sql打印发现hibernate也是用的预处理,但我没办法调整它的长度限制。。。
求大侠来指点迷津。。。。。
经过询,我大致知道的原因是,
有一个字段设置为vchar(4000)
hibernate 映射为: <property name="complainPosition" column="complain_position" type="string" length="4000" />
obj.set....
使用template.update(obj)
当数据str.getBytes().length >2000的时候就报错:数据大小超出此类型的最大值
客户要求允许 2000个汉字,求指导。
我不想用clob类型!
另外附上一个问题:由于这样要求的字段有两个,都必须要2000个汉字,一个字段是问题,一个字段是解决办法。
配置文件为<property name="dealSituation" column="deal_situation" type="text" />
当我用两个同时用clob的时候,当其中一个数据str.getBytes().length =2500的时候,可以正常保存。
当两个字段同时插入str.getBytes().length =2500的汉字的时候,就报错:
ORA-01483: DATE 或 NUMBER 绑定变量的长度无效
我已经疯掉了,以前用sql2000,直接在数据库里设置为text或者长度为4000的字段,都不会出现问题,
神马2000个汉字都能像我们所知道的那样正常保存。PreparedStatement对字符串的要求是不能超过2000,
可以通过stmt.setCharacterStream(1, new InputStreamReader(String内容, String内容.length());
来调整。
不过我现在是用的hibernate来保存的,虽然show_sql打印发现hibernate也是用的预处理,但我没办法调整它的长度限制。。。
求大侠来指点迷津。。。。。
经过询,我大致知道的原因是,
...全文
相关推荐
vchar64:Commodore 64的编辑器
VChar64关于Commodore 64/128的编辑器根据我的需要量身定制,但是可以随时发送补丁,打开错误等。产品特点字符编辑: 剪切,复制和粘贴明确倒置水平,垂直翻转旋转上移,下移,左移,右移撤
汉字转拼音 C#实现
(vChar)); else if ((int)vChar >= 19968 && (int)vChar <= 40869) { // 假设 strChineseFirstPY 是一个预定义好的数组,存储了每个汉字的首字母拼音
QT C++ 读写mySQL数据库 图片 例子 QT-MySQL-vchar-int-picture-demo.zip
这个"QT MySQL vchar int picture demo"是一个示例项目,它演示了如何在QT C++环境中使用MySQL数据库进行文本(vchar)、整数(int)以及图片数据的读写操作。
mssql数据库 char vchar nchar nvchar异同
- 当插入的数据长度小于指定长度时,系统会自动在数据末尾填充空格来达到指定长度。 - 如果数据长度超过指定长度,则会截断多余的部分。
char和vchar2区别
### char与varchar2的区别在数据库领域中,`char` 和 `varchar2` 是两种常见的字符数据类型,它们被广泛应用于各种关系型数据库管理系统(RDBMS)中,尤其是在Oracle数据库中更为常见


Web 开发
