sql >> Database >  >> RDS >> Oracle

Hoe een tijdelijke CLOB-instantie van de opgeslagen functie in Pl/SQL te retourneren?

In een reactie zei je:

De documentatie van getSubString stelt dat:

Met een eenvoudige functie om een ​​CLOB te genereren en terug te sturen, kan ik deze via JDBC ophalen (ojdbc5 of ojdbc6 ) zonder problemen, ook niet met getCLOB() of getString() . Maar als ik probeer de Oracle.sql.CLOB opgehaald met getCLOB naar een String met behulp van

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

dan krijg ik ook de Invalid argument(s) in call fout. Verander dat gewoon in:

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

werken. Het lijkt dus niets te maken te hebben met de tijdelijke toewijzing in de functie, of de CLOB-grootte. Ik begrijp niet waarom u geen probleem had met kleinere CLOB's - misschien heeft uw logica dit niet bereikt als ze klein waren?

In de tussentijd heb je dit opgelost met clob.getCharacterStream().read() , dus dit is nu misschien een beetje irrelevant.



  1. #1222 - De gebruikte SELECT-statements hebben een ander aantal kolommen

  2. Hoe een afbeelding uit de database weer te geven met behulp van php

  3. Meerdere MySQL-instanties op één machine

  4. MYSQL:LANG tekenreeksvariabelen definiëren of ophalen