Oracle
 sql >> база данни >  >> RDS >> Oracle

Преобразуване на обект в CLOB

Ако дължината на CLOB е достатъчно малка ( <Integer.MAX_VALUE ) можете да направите следното :

clob.getSubString(1, (int) clob.length());

(Просто погледнете този въпрос )

РЕДАКТИРАНЕ:

Кодът, който изпратихте във вашия въпрос, трябва да стане:

String sql = "select id, data from mytable";
List< Object[] > results = getEntityManager().createNativeQuery(sql).getResultList();
Map< Long, String > map = new HashMap<>();
Clob clob = (Clob)result[1];
String value = clob.getSubString(1, (int) clob.length());
map.put(((Number) result[0]).longValue(), value);

Моля, имайте предвид, че цикълът във вашия оригинален код беше абсолютно безполезен, затова го премахнах.

Проверете и този result[1] е java.sql.Clob



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво трябва да избягам, когато изпращам заявка?

  2. какъв е по-добрият начин за индексиране на данни от Oracle/релационни таблици в еластично търсене?

  3. Предаване на големи BLOB към съхранена процедура

  4. Съхранена процедура на Oracle, връщаща референтен курсор срещу асоциативни масиви

  5. дефинирана от потребителя персонализирана агрегатна функция с помощта на plsql