`
jy00509336
  • 浏览: 242701 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

PreparedStatement 数据大小超出此类型的最大值

阅读更多

转载自:http://heath-derek.iteye.com/blog/257046

今天在进行oracle开发的时候遇到了一个异常,在baidu一通没有结果后,进行了google尝试,最终挖掘出了答案,哈哈。 
异常: java.sql.SQLException:   数据大小超出此类型的最大值: 2017 

在将过长的字符串写入数据库中时,不能直接使用setString()方法,而应该使用“流”方式写入,如下: 
CharArrayReader   reader   =   new   CharArrayReader(str.toCharArray()); 
ps.setCharacterStream(1,   reader,   str.length()); 
(ps.setCharacterStream(1,reader)这种写法时遇到了另外一个异常 
java.lang.AbstractMethodError: oracle.jdbc.driver.OraclePreparedStatement.setCharacterStream(ILjava/io/Reader;)V 琢磨半天,不晓得为何,如果各位有知道的,请积极帮解答(*^__^*) 嘻嘻…… 
) 
至于读,可以使用普通的方式读取,不会出现异常。

分享到:
评论

相关推荐

    关于PreparedStatement插入Date类型值的方法.txt

    ### 关于PreparedStatement插入Date类型值的方法 在Java编程语言中,使用`PreparedStatement`来执行SQL语句是一种常见的操作数据库的方式。这种方式不仅可以提高程序的性能,还可以有效地防止SQL注入攻击。当我们在...

    Java数据类型和MySql数据类型对应表

    这些数据类型都可以用来存储整数值,但它们的长度和取值范围不同。例如,TINYINT 可以存储从 0 到 255 的数,而 INT 可以存储从 0 到 4294967295 的数。 浮点数类型包括 FLOAT、DOUBLE、DECIMAL 等。这些数据类型都...

    练习3:使用PreparedStatement插入宠物信息.zip

    PreparedStatement对象允许程序员将SQL语句作为模板,其中包含一个或多个占位符,这些占位符在运行时用实际值替换。这可以提高性能,因为数据库可以预先编译SQL语句,然后多次执行,而无需每次都解析它。此外,由于...

    Java中数据类型和MYSQL中数据类型的对比

    基本数据类型是预定义的,它们的大小和值的范围是固定的。例如,`int` 在 Java 中占用 4 个字节,可存储 -2^31 到 2^31-1 之间的整数。而 `char` 类型占据 2 个字节,表示 Unicode 字符。 MySQL 的数据类型则主要...

    PreparedStatement

    jdbc2.0版 PreparedStatement接口的用法

    PreparedStatement详细用法

    - **数据类型转换**:对于日期、时间等复杂数据类型的处理,`PreparedStatement`提供了专门的方法如`setDate()`、`setTime()`等,确保了数据的正确转换,避免了手动格式化字符串带来的错误和安全隐患。 **3. ...

    JDBC基础教程之PreparedStatement.doc

    在这个例子中,`setShort`方法将Java类型`short`的值`44`设置为`PreparedStatement`对象的第二个参数。驱动程序会将这个值作为JDBC类型`SMALLINT`发送给数据库。 #### 七、总结 通过以上介绍可以看出,`...

    PreparedStatement 向数据库插入时间方法

    然而,在处理日期和时间类型的数据时,可能会遇到一些问题。例如,当我们尝试使用`java.util.Date`对象将日期传递给`PreparedStatement`的`setDate()`方法时,程序可能会抛出异常。这是因为`setDate()`方法期望的是`...

    Statement和PreparedStatement之间的区别

    而PreparedStatement对象则可以避免这种情况,因为它将用户输入的数据作为参数传入,而不是将其直接嵌入到SQL语句中。 最后,PreparedStatement对象可以提高代码的可读性和可维护性。使用PreparedStatement对象可以...

    PreparedStatement和Statement

    - **可读性**:`PreparedStatement`的参数化使得代码更易读,因为SQL逻辑和数据值分离。 - **动态SQL**:`Statement`更适合执行动态构建的SQL语句,因为它允许在运行时插入任意字符串。 4. **源码分析** 虽然...

    PreparedStatement 详细用法

    2. **参数绑定**:通过`PreparedStatement`的`setXXX`方法(如`setInt`, `setString`等),可以将实际值绑定到SQL语句中的占位符上。 3. **批量更新**:`PreparedStatement`支持批量执行SQL更新语句,可以减少网络...

    如何获得PreparedStatement最终执行的sql语句

    在Java的JDBC编程中,`PreparedStatement`是一个非常重要的接口,它用于预编译SQL语句,提高了数据库操作的效率和安全性。当我们处理大量重复的SQL操作时,使用`PreparedStatement`可以避免SQL注入等问题,同时提升...

    插入、取出Blob类型的数据代码示例

    Blob(Binary Large Object)在数据库中是用来存储大量二进制数据的数据类型,常用于存储图像、音频、视频等非文本信息。本示例主要讲解如何在Oracle数据库中操作Blob类型的数据,包括插入和取出。 首先,我们需要...

    connection 和 preparedstatement 的关闭问题

    ### Connection 和 PreparedStatement 的关闭问题 在Java编程语言中,处理数据库连接及执行SQL语句时,合理地管理和释放资源是非常重要的。本文将详细介绍`Connection`和`PreparedStatement`的使用时机与关闭策略,...

    Hibernate使用——自定义数据类型

    2. **实现Hibernate的Type接口**:这个接口是自定义数据类型的核心,它定义了如何在Java对象和SQL值之间进行转换。你需要实现`nullSafeGet()`和`nullSafeSet()`方法,分别用于从ResultSet中读取数据和将数据写入...

    使用PreparedStatement的setString方法会自动在varchar后面补空格

    此实例意在解决预处理命令PreparedStatement的setString()方法,在sql2008数据库中写入数据时,会自动补足空格的问题, 同时此实例也解决了当存在自动补足空格的问题时,使用nvarchar可以使查找出来的数据与原输入...

    java中PreparedStatement和Statement的区别

    Java 中 PreparedStatement 和 Statement 的区别 Java 中的 PreparedStatement 和 Statement 都是用于执行 SQL 语句的接口,但是它们之间存在一些关键的区别。 首先,从数据库执行 SQL 语句的角度来看,使用 ...

    Oracle出现超出打开游标最大数的解决方法

    当程序在处理大量数据或者进行复杂操作时,可能会遇到“超出打开游标最大数”的错误,即ORA-01000异常。这个错误通常表明数据库当前打开的游标数量超过了`open_cursors`参数所设定的最大值。 首先,我们需要理解为...

    oracle的数据类型_java中Clob型详细用法_struts中实现图片上传功能

    例如,NUMBER(5,2) 最大值为 99,999,超出范围的数据会被截断。NUMBER(3,0) 表示不包含小数的三位数字。 4. DATE: 日期时间类型,涵盖公元前 4712 年至公元 4712 年的所有日期,包括小时、分钟和秒。默认格式为 DD-...

Global site tag (gtag.js) - Google Analytics