2011-07-05 21 views
0

CLOB型のデータベース列によってデータ型が移入されるjspページの表があります。私はこれをやっているいくつかの問題に遭遇しており、これについて他の質問がありましたが、回答は私のために働いていません。コメントはCLOBです。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コードを使用すると、私のページで使用できるようになります。

+0

2つの質問:どの部分がCLOBですか?制限? 2:なぜそれはCLOBであり、テキスト(または中/長文)ではないのですか?あなたの説明から明らかではない – PhD

+0

読んでいただきありがとうございます。 1.「comments」はCLOBです。最初の段落2を参照してください。一部の(非常に少ない)コラムには非常に長いテキストが含まれます。残念ながら、テーブルデザインは私のものではありませんでした。そのため、作成時に別のデータ型になっている可能性があります。 – Dan

+0

1.あなたはどんなトラブルがありますか?あなたは何を試しましたか、どの例外がありましたか? getClob()で試しましたか? 2. TO_DATEを解析する必要がある文字列ではなく、日付(java.sql.Dateインスタンス)を使用しないのはなぜですか? –

答えて

2

問題は、CLOBに適用できない問合せのdistint句から発生します。

distinctキーワードが本当に必要かどうか確認してください。あるいは、あなたの質問を

select restriction, person, start_date, end_date, comments from restrictions 
where id in (select distinct id from restrictions where <original where clause>) 

PSと書き直すことができます:次回は、質問にエラーメッセージとデータベースを含めてください。私は "ora-00932 clob"の簡単なgoogle検索で問題を見つけることができました。

+0

よろしくお願いします。私の質問は誤解されているかもしれません。私は今クエリを実行しています(あなたの答えはありがたいですが)結果は、その背後にある実際のデータではなく、ちょうど(Clob)です。それについての手がかりは? – Dan

+0

私は私の答えの質問にタイポを修正しました。しかし、comentsカラムがclobの場合は、resultSet.getClob()を使用して取得し、返されたClobオブジェクトを使用してコンテンツを取得する必要があります。 http://download.oracle.com/javase/6/docs/api/java/sql/ResultSet.html#getClob%28java.lang.String%29およびhttp://download.oracle.com/javase/6を参照してください。 /docs/api/java/sql/Clob.html –

関連する問題