我做的是一个插入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;
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;
解决方案 »
- 高手教我写一个双色球的程序
- repaint()不调用paintComponent()
- 看看人家老外是怎么讲面向对象的多态的,非常生动
- 在 Linux下的网络连接问题,Java语言解决!!
- 突然找不到所有的类了
- 调整JFrame大小的问题
- 在JList中怎样加一个隐藏值呀!各位大侠请帮忙呀!
- ▲▲▲高分: 求两个日期的相隔月份
- 谁能提供一个用Junit进行测试的技术文档
- 谁有APPLET画饼图的例子???谢谢!
- 求助!!!!!!!比如我有一个集合,我想每次都随机访问其中的一个数,但不重复访问,怎么办呢
- 大家都用什么工具,对于初学者用什么工具好,我用的JBuilder,但书上的例子输进去却不能运行,不明白?
如果是的话把驱动换成10.2.0就没问题了。