2016-08-11 8 views

答えて

1

これは正常に動作するように見えた -

LobHandler lobHandler = new DefaultLobHandler(); 
List<FrontendData> frontEndDataList = jdbcTemplate.query(getResponseQuery(sessionId), new RowMapper() { 
      @Override 
      public Object mapRow(ResultSet rs, int rowNum) throws SQLException { 
       // TODO Auto-generated method stub 

       FrontendData frontEndData = new FrontendData(); 
       String operationName = rs.getString("OPERATION_NAME"); 
       frontEndData.setApiName(operationName); 
       byte[] requestData = lobHandler.getBlobAsBytes(rs,"RESPONSE_MESSAGE"); 
       frontEndData.setResponse(new String(requestData)); 


       return frontEndData; 
      }}); 
3

以下のように、データベースからBLOBを取得することができます。

String retrieveBlobAsString = null; 
Blob b = row.get("REQUEST_MESSAGE");//cast with (Blob) if required. Blob from resultSet as rs.getBlob(index). 
InputStream bis = b.getBinaryStream(); 
ObjectInputStream ois = new ObjectInputStream(bis); 
retrieveBlobAsString = (String) ois.readObject(); 
+0

おかげアーディティヤサルマ。私は試して更新します。 –

+0

Blobでキャストしようとしたときに以下の例外が発生しました - 原因:java.lang.ClassCastException:[Bをjava.sql.Blobにキャストできません。 –

+0

Oracleデータ型を使用する場合にのみキャストする必要があると思いますBLOB。しかし、私たちはjava.sqlパッケージからBlobを使用しているので、キャストは必要ないと思います。キャストを取り除き、それが機能するかどうか確認してもらえますか? – Aditya

関連する問題