【发布时间】:2011-07-05 16:31:39
【问题描述】:
我的 jsp 页面上有一个表格,其中有一列由 CLOB 类型的数据库列填充。我在执行此操作时遇到了一些麻烦,并且看到了其他有关此问题的问题,但答案对我不起作用。这是我的声明,其中 cmets 是 CLOB。
stmt = conn.prepareStatement("SELECT DISTINCT restriction, person, start_date, end_date, comments "
+ " FROM restrictions WHERE person = ? "
+ " AND (start_date BETWEEN TO_DATE (? , 'yyyy/mm/dd') AND TO_DATE (? , 'yyyy/mm/dd') "
+ " OR start_date < TO_DATE (? , 'yyyy/mm/dd') AND end_date IS NULL) " );
stmt.setString(1, Id);
stmt.setString(2, StartRest);
stmt.setString(3, EndRest);
stmt.setString(4, EndRest);
result = stmt.executeQuery();
然后我将列在一个while循环中:
while (result.next()) {
restrictions = StringUtils.defaultString(result.getString("str_restriction"));
.......
// here is where I would get my Clob data from the query.
所以,基本上,我想知道是否有办法在查询中翻译 CLOB,甚至在 java 代码中,这样它就可以在我的页面中使用。
【问题讨论】:
-
2 个问题:CLOB 是哪一部分?限制?第二:为什么它是 CLOB 而不是文本(或中/长文本)?从你的描述看不清楚
-
感谢阅读。 1. 'cmets' 是一个 CLOB,见第一段 2。一些(很少)在列中有很长的文本。不幸的是,表设计不是我的,所以它可能只是创建时的另一种数据类型。
-
1.你有什么烦恼?你尝试了什么,你有什么例外?你试过getClob()吗? 2. 为什么不使用日期(java.sql.Date 实例)而不是必须用 TO_DATE 解析的字符串?
-
1. ORA-00932:不一致的数据类型:预期 - 得到 CLOB,这是我在运行 SQL 时得到的错误。 2. 我想我能做到,现在一切都一样(至少在我微调代码之前);)