我想问问各位大哥!
环境:
数据库:oracle 92
jdk: jdk1.4.2
oracle驱动的版本,不知道在哪里看,class12.jar里面没有MANIFEST.MF文件,哪位知道可以说一下
表:test的字段name的类型为varchar(4000);理论上可以放2000个汉字的。
我采用
con = DBHelper.getConnection();
String name="1000个汉字";
方法1:
String sqlStr="insert into test(id,name) values('1','"+name+"')";
stmt = con.prepareStatement(sqlStr);
stmt.executeUpdate();
可以准确的执行。后台没有错。
方法2:
String sqlStr="insert into test(id,name) values(?,?)";
stmt = con.prepareStatement(sqlStr);
stmt.setString(1,"2");
stmt.setString(2,info.getExtend1());
stmt.executeUpdate();
这时候就会报错。
java.sql.SQLException: 数据大小超出此类型的最大值: 3300
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.ttc7.TTCItem.setArrayData(TTCItem.java:147)
at oracle.jdbc.dbaccess.DBDataSetImpl.setBytesBindItem(DBDataSetImpl.jav
a:2460)
at oracle.jdbc.driver.OraclePreparedState