我做的是一个插入oracle数据库的问题
AccountDAO accountDao= new AccountDAO();
account.setCooprate("test");然后
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(26,account.getCooprate());  上面只写出了问题相关代码,省略了不相关的我若把红色标记的那句中的test换成“测试”
像这样
account.setCooprate("测试");
就会出这样的错误java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:622)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:180)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:542)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1027)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2887)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2959)
at com.helphand.dao.AccountDAO.saveAccount(AccountDAO.java:89)
at test.t.main(t.java:31)
若是英文或者数字不会出现任何错误,成功插入数据
在数据库里cooprate  字段保存的类型为 VARCHAR2(20)不知道是什么原因,求大家帮下
类里对cooprate 是这么定义的
private String cooprate;