我在程序里边的sql:
insert into dt_bbs_blackuser bl
(bl.vc2blackid, bl.vc2userid, bl.vc2fid, bl.datblacktime, bl.datcreate)
values
(dtseq_blackuser_id.nextval,
?,
?,
to_date(?, 'yyyy-mm-dd hh24:mi:ss'),
sysdate)
在插入vc2userid字段时,只要带有中文就会报java.sql.EXCEPTION:ORA-01461: can bind a LONG value only for insert into a LONG column但是该语句直接在pl-sql运行则不会出错,不知道哪位大虾能够帮小弟解决下,不胜感激
insert into dt_bbs_blackuser bl
(bl.vc2blackid, bl.vc2userid, bl.vc2fid, bl.datblacktime, bl.datcreate)
values
(dtseq_blackuser_id.nextval,
?,
?,
to_date(?, 'yyyy-mm-dd hh24:mi:ss'),
sysdate)
在插入vc2userid字段时,只要带有中文就会报java.sql.EXCEPTION:ORA-01461: can bind a LONG value only for insert into a LONG column但是该语句直接在pl-sql运行则不会出错,不知道哪位大虾能够帮小弟解决下,不胜感激
我是preparedStatement
preparedStatement.setString(1,'京AAA1234')就会出错,如果改成preparedStatement.setString(1,'111AAA1234')
就没有问题
===================================
只要带中文就会出错,说明肯定是字符集设置不对
http://topic.csdn.net/u/20090927/15/c33303c1-c2ca-41d2-b41f-75291f6941c4.html
看一下我的问题对你有没没帮助。
Obj obj = new Obj();
obj.setName("黄金");
obj.setCreationTime(new Date());
obj.setDescription("建房招兵必备");
obj.setStatus(1);
obj.setUrl("sss");
obj.setVersion(1);
HibernateDaoSupport.getHibernateTemplate().save(obj);
数据库表字段信息如下:数据库是oracle数据库
id VARCHAR2(36 CHAR)
NAME VARCHAR2(255 CHAR)
VERSION NUMBER(10)
URL VARCHAR2(255 CHAR)
DESCRIPTION VARCHAR2(255 CHAR)
CREATIONTIME TIMESTAMP(6)
STATUS NUMBER(10)