java.sql.BatchUpdateException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

问题描述

生产环境报java.sql.BatchUpdateException:ORA-01461:仅能绑定要插入LONG列的LONG值这个异常无能为力呀,求高手帮忙,谢谢java程序里用绑定变量批量更新的方式更新表,几张表中都没有超长字段,最长设了varchar2(120),也没有用到clob类型的字段,jdbc驱动版本和数据库版本也是一致的都是10.2.0.3,字符里是有中文的,但是只有一个案例在生产环境里出错,其他数据没有问题,在我测试环境里用同样的数据没有问题,测试环境没法重现,这个逻辑里要update六张表,每次报错都不是同一张表网上其他帖子说是数据库的bug,有没有高手解释下为什么有这个bug,有没有办法解决。谢谢字符里的中文也都是简单的字,没有生僻字把更新语句拿出来在数据库里直接跑,也没有问题表中也没有Long类型的字段

解决方案

解决方案二:
貌似是字段问题,与环境似乎没什么关系。
解决方案三:
http://longdick.javaeye.com/blog/429842
解决方案四:
谢谢回复,表中也没有Long类型的字段,在测试环境用同样的数据在java程序里调试,是没有问题的呀,错误没有重现,但是在生产环境中就执行不过去;2楼的帖子看过了,我的jdbc驱动版本和数据库版本是一致的都是10.2.0.3,
解决方案五:
不要只看版本号吧。最好就是从数据库服务器上拷贝那个驱动,Oracle的驱动对于CLOB、BLOB兼容性都很差。
解决方案六:
pojo以及映射文件贴出来
解决方案七:
用的是jdbc

时间: 2024-09-21 16:12:29

java.sql.BatchUpdateException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值的相关文章

ORA-01461:仅能绑定要插入LONG列的LONG值

  使用Hibernate保存数据到oracle数据库时出现如下错误: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74

ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

问题描述 各位大虾:我oracle中NewsContent字段类型为CLOB,但是当文档内容过长时会提示"ORA-01461:仅能绑定要插入LONG列的LONG值"不知道该如何解决,以下是代码片段:<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ConnectionStrings:ConnectionString%>&quo

java.sql.BatchUpdateException: Io exception: Broken pipe

问题描述 前段时间系统割接,程序在老的机器上正常运行,但新机器上就报错如下:java.sql.BatchUpdateException:Ioexception:Brokenpipeatoracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)atoracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStat

求教关于“java.sql.SQLException 列名无效”的问题

问题描述 使用DBUtil查询数据库时Java报列名'lei_xing'无效.但是这个SQL语句在MSSQL的控制台下面能够争取执行.到底是什么原因啊?这是查询部分的代码:Stringsql="selecttg.fid,tg.intime,tg.lei_bie,tg.ftitle,tg.inpart,tg.inname,jl.idfromtonggaotgleftjoin(selectid,fidfromyue_du_ji_luywherelei_xing=?)jlontg.fid=jl.fid

java sql xception-java.sql.SQLException问题

问题描述 java.sql.SQLException问题 代码: public static void main(String[] args) { // TODO Auto-generated method stub //定义需要的对象 PreparedStatement ps=null; Connection ct=null; ResultSet rs=null; try { //初始化我们的对象 //1.加载驱动 Class.forName("com.microsoft.sqlserver.

String类型怎么装换为java.sql.Date类型

问题描述 String类型怎么装换为java.sql.Date类型 在java中如何将String类型转换成java.sql.Date类型 解决方案 问题出在你的格式化字符串上.参考官网文档Class SimpleDateFormat格式化字符串是有保留字符的,每个字符代表不同的意义,区分大小写.大写的M表示的是月份,不是说你用在的时间的位置它就表示时间了.所以把时间格式化字符串改成yyyy-MM-dd HH:mm:ss,就能正确输出了. 解决方案二: 在java中如何将String类型转换成j

关于java.sql.SQLRecoverableException: Closed Connection异常的解决方案(转)

在项目中碰到了一个应用异常,从表象来看应用僵死.查看Weblogic状态为Running,内存无溢出,但是出现多次线程堵塞.查看Weblogic日志,发现程序出现多次Time Out. 我们知道,Weblogic会自动检测线程运行超时,当超过特点时间(默认600S),即认为此线程为堵塞线程.在日志中发现多次堵塞线程,通过查找资料,发现Weblogic在发生多次线程堵塞后,会自动把应用挂起.默认次数为15次.   是什么造成了线程堵塞呢?通过进一步分析日志,我们发现在线程堵塞之前,发生了多次jav

一个坑:java.sql.ResultSet.getInt==》the column value; if the value is SQL NULL, the value returned is 0

Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language. Parameters: columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not spe

Caused by: java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配

          项目中遇到这样一个问题:                 Caused by:java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配 atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) atoracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) atoracle.jdbc.