oracle的varchar2(4000)可以存储2000个汉字或者4000个英文字符? .
2011-10-18 10:56
711 查看
一般情况下用ps.setString()的办法是不行的,
因为oracle的驱动会把一个中文字用三个字节表示,加上jdbc本身对字符的的限制为2000,
也就是600多字,如果是英文字符也只能到2000,英文用2个字节表示,
但是oci驱动没有这个限制,如何能通过jdbc把2000个汉字插进去呢?
利用PreparedStatement的setCharacterStream方法就可以了,
Reader reader = new StringReader(你需要插入的长字符);
ps.setCharacterStream(1,reader,字符长度);
这个就可以把2000个中文字符插入到表中
如果在hibernate中怎么办呢?暂时没有想到!换成clob类型吗?好像问题还不少!
Reader reader = new StringReader(new String(chars));
PreparedStatement ps = conn.prepareStatement("insert into tvar (value) values (?)");
ps.setCharacterStream(1,reader,chars.length);
ps.executeUpdate();
因为oracle的驱动会把一个中文字用三个字节表示,加上jdbc本身对字符的的限制为2000,
也就是600多字,如果是英文字符也只能到2000,英文用2个字节表示,
但是oci驱动没有这个限制,如何能通过jdbc把2000个汉字插进去呢?
利用PreparedStatement的setCharacterStream方法就可以了,
Reader reader = new StringReader(你需要插入的长字符);
ps.setCharacterStream(1,reader,字符长度);
这个就可以把2000个中文字符插入到表中
如果在hibernate中怎么办呢?暂时没有想到!换成clob类型吗?好像问题还不少!
Reader reader = new StringReader(new String(chars));
PreparedStatement ps = conn.prepareStatement("insert into tvar (value) values (?)");
ps.setCharacterStream(1,reader,chars.length);
ps.executeUpdate();
相关文章推荐
- oracle 字段长度设置为varchar2(4000),就一定可以存放2000个汉字吗?
- Mysql中的varchar可以存储多少个汉字和英文呢?
- oracle的varchar2(4000)通过jdbc的thin驱动连接为什么只可以存666个汉字 .
- MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚
- python判断unicode是否是汉字,数字,英文,或者其他字符
- python判断unicode是否是汉字,数字,英文,或者其他字符
- 一条短信可以发送70个汉字或者是160个英文字母
- oracle varchar2 字符存储长度问题
- Oracle 存储过程中 判断 某个字符是否为 ‘’ 或者 为 null
- 关于Oracle中,char、nchar、varchar、nvarchar存储汉字是所需要的字节数
- MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚
- oracle clob 存储大于4000字符的字符串
- Mysql的varchar(20)到底可以存储多少个中文字符
- Oracle的varchar2(4000)插入汉字过长
- mysql 数据库varchar(100)可以存储多少个汉字,多少个数字
- python判断unicode是否是汉字,数字,英文,或者其他字符
- 分享 MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚
- oracle中过滤中文字符或者汉字的函数
- 获取包含中文,字母,数字集合的字符串的长度(1个汉字字符存储需要2个字节,1个英文字符存储需要1个字节)
- 字符集合决定varchar2的长度--Oracle定义varchar2()类型存储汉字的长度问题