我不确定如何使用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插入它 请指教。