sql >> Databáze >  >> RDS >> Oracle

Jak vrátit dočasnou instanci CLOB z uložené funkce v Pl/SQL?

V komentáři jste řekli:

Dokumentace getSubString uvádí, že:

Pomocí jednoduché funkce pro generování a vrácení CLOB jej mohu načíst přes JDBC (ojdbc5 nebo ojdbc6 ) bez problémů, ani s getCLOB() nebo getString() . Ale pokud se pokusím přiřadit Oracle.sql.CLOB načteno pomocí getCLOB do String pomocí

String x = getSubString(0, clob.length());

pak dostanu také Invalid argument(s) in call chyba. Stačí to změnit na:

String x = getSubString(1, clob.length());

funguje. Zdá se tedy, že to nemá nic společného s dočasnou alokací ve funkci nebo velikostí CLOB. Nechápu, proč jste neměli problém s menšími CLOBy - možná vaše logika jen nezasáhla toto, pokud byly malé?

Mezitím jste to obešli pomocí clob.getCharacterStream().read() , takže to teď může být trochu irelevantní.



  1. Jak zjistit, zda je název sloupce vyhrazeným klíčovým slovem v různých databázích

  2. Oracle Fuzzy textové vyhledávání

  3. Podporuje Oracle DB více (paralelních) operací na připojení?

  4. Má replikace mySQL okamžitou konzistenci dat?