当前位置: 首页 > 知识库问答 >
问题:

如何用java实现从oracle到ResultSet的Clob数据类型

严繁
2023-03-14

我与oracle数据库有联系。我需要从表获得infromation到我的服务类,然后将其发送到控制器。其中一个变量是CLOB数据类型。如何获取它并解析成字符串列表?下面是我的伪代码:

public class ModelClass {
private List<String> comments;

public ModelClass(List<String> comments) {
    this.comments = comments;
}

public List<String> getComments() {
    return comments;
}
}

然后,我尝试在ResultSet中执行query并将其放入ModelClassResultSet rS=datasource.getConnection().createstatement().executeQuery(query.toString())的列表中;while(rs.next()){result.add(new ModelClass((list )rs.getObject(13)));

显然不起作用。我不知道怎么弄到那块木屐。当我试图获取结果时,我出现了以下错误:“oracle.sql.clob不能强制转换为java.util.list”,当我将rs.object(13)更改为rs.getclob(13)时,它也不起作用。你能告诉我如何得到那个Clob物体吗?实际上是一个有4个字段的JSON。

共有1个答案

谭玉泽
2023-03-14

作为rs.getObject(13)的结果获得的CLOB对象是一个类似字符串的对象。如果您想像对待4个字段的列表一样对待它,您应该使用任一库作为GSON,将其转换为JSON对象,然后向JSON对象询问它的字段。

while (rS.next()) {

    CLOB clobOjb = (CLOB) rS.getObject(13);
    // convert clobObj (or it's string conversion) to JSON
    // extract the fields from JSON object and store them in a list
    result.add(new ModelClass( /* the list */ ));
 类似资料:
  • 问题内容: 我需要将XML文件内容写入oracle数据库,其中该列是CLOB数据类型。我该怎么做? 问题答案: 过时的 请参阅下面的Lukas Eder的答案。 大约有100行代码;-) 这是一个示例 。 要点:与其他JDBC驱动程序不同,Oracle的驱动程序不支持使用和作为参数。相反,您必须先将该列然后 写入 我建议您将此代码移到辅助方法/类中。否则,它将污染其余的代码。

  • 我想在oracle中用与字符串数据类型字段相同的方法反向clob数据类型值。有什么内置的方法吗?谷歌帮不上什么忙。作为一个sql新手,不知道这是否可能?我最初认为“reverse”函数也可以用于clob数据类型字段,但它不起作用,下面是我尝试的示例- 输出=htanidaa output=ORA-00932:不一致的数据类型:预期的CHAR得到CLOB 00932。00000-“不一致的数据类型:

  • 并添加了相应的类。 当我调用这个函数- 我得到了以下错误- 在返回解析后的值之前,我还需要将转换回。 在调用函数时- 我得到了以下错误-

  • 我有一个Oracle表,其中列类型为CLOB。我想保留列顺序并将数据类型更改为VARCHAR2。该列只包含文本。 我得到了一个标准的信息: 我们将不胜感激。我已经在这方面工作了一段时间了。如果你有任何问题请告诉我。

  • 问题内容: 我想从具有存储为clob的XML列为testclob的表TRAPTABCLOB中使用sql提取Decision的值。 样本XML如下。 问题答案: 尝试 这是一个sqlfiddle演示

  • 本文向大家介绍Oracle的CLOB大数据字段类型操作方法,包括了Oracle的CLOB大数据字段类型操作方法的使用技巧和注意事项,需要的朋友参考一下 一、Oracle中的varchar2类型 我们在Oracle数据库存储的字符数据一般是用VARCHAR2。VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Database中的字段类型,不同场景的最大长度不同。