当前位置: 首页 > 面试题库 >

如何使用Java / JDBC在Oracle数据库中存储超过4000个字符的字符串?

梁季
2023-03-14
问题内容

我不确定如何使用Java / JDBC在Oracle数据库中插入一个很长的字符串。

我有一个字符串,该字符串大于4000个字符,可以说是6000个字符。我想将此字符串存储在Oracle数据库中。

执行此操作的方法似乎是使用CLOB数据类型。好的,因此我将该列声明为描述CLOB。

现在,当需要实际插入数据时,我有一个准备好的语句pstmt。看起来像pstmt = conn.prepareStatement(“INSERT INTO Table VALUES(?)”)

所以我想用这个方法pstmt.setClob()。但是,我不知道如何创建一个包含String的Clob对象。没有构造函数(大概是因为它可能比可用内存大得多)。

如何将字符串放入Clob?

请记住,我不是一个非常有经验的程序员。请尽量使说明尽可能简单。效率,良好做法等不是这里的问题,我只想要绝对最简单的解决方案。如果可能的话,我想避免下载其他软件包;现在我只是在使用JDK
1.4和标有标签的东西ojdbc14.jar。我环顾了一下,但无法按照我发现的任何解释进行操作。

如果您有不使用Clobs的解决方案,那么我也乐于接受,但必须是一栏。


问题答案:

您(至少)有两个选择:

  • 用于connection.createClob()创建Clob,设置数据以及在准备好的语句上进行设置。这将适用于较小的数据

  • 使用preparedStatement.setClob(position, reader)-在这里您将有一个Reader实例。



 类似资料:
  • 首先为我的英语感到抱歉。 我试图插入大约15000行,问题是有一个CLOB类型的列可能有超过4000个字符,给出错误ORA-01704,我知道如何像这样一个接一个地插入:TO_CLOB(string)TO_CLOB(string)并且它工作,但是我有大约1000个这样的情况发生,我不想手动执行,你能想到什么方法来插入它们? 谢谢你。

  • 如何向CLOB类型列插入超过4000个字符? 导致错误: ORA-01704:字符串太长。 当我阅读Oracle参考时,可以最大节省4GB(千兆字节)?

  • 我正在使用Informatica映射,它更新oracle表中的一列。该列的数据类型为VARCHAR2(4000)。 现在我想更新值超过4000个字符的列,我尝试了datatypes long/clob,但它也只能容纳最多4000个字符。 拉胡尔

  • 1366字符串值不正确:“\XF0\X9F\X98\X83\XF0\X9F..."第1行的“comment”列

  • 我有一个通过ORM保存到数据库的对象。对象有一个字符串数组,每个对象的数组长度可以不同。我想知道在db中存储字符串数组的标准做法(例如,我是否应该将所有字符串存储在一个字段中作为csv等)?

  • 是否可以使用通用sql将超过4000个字符的字符串插入CLOB 新增列: 我必须用SQL插入它 请指教。