sql >> Database >  >> RDS >> Oracle

Java 1.6 en Oracle JDBC 14 setQueryTimeout werken niet

Bekijk hier hoe querytime-out werkt in Oracle JDBC-stuurprogramma:https://forums. oracle.com/forums/thread.jspa?threadID=550257

Lang verhaal kort:

  1. Er is een volledige retour naar de database nodig om de SQL-uitvoering te annuleren wanneer de time-out verloopt. De database zal het annuleringsverzoek verwerken wanneer het daar zin in heeft.
  2. Het time-outmechanisme van het stuurprogramma is geen mechanisme met hoge precisie. Aangezien voor het daadwerkelijk annuleren van de uitvoering via het netwerk met de database moet worden gesproken, heeft het geen zin om de driver supernauwkeurig te maken. Zelfs als het stuurprogramma nauwkeurig zou zijn, zouden de netwerkvertragingen en de tijd die de database nodig heeft om op het annuleringsverzoek te reageren, de nauwkeurigheid van het stuurprogramma tenietdoen. Dus de time-out is de MINIMALE hoeveelheid tijd die het stuurprogramma de SQL geeft om uit te voeren voordat een annulering naar de server wordt verzonden.


  1. Selecteer top drie waarden in elke groep

  2. Hoe kan ik CDATA-tags behouden bij het opslaan van queryresultaten in een XML-variabele?

  3. Hoe duplicaten in SQL te verwijderen

  4. Een elegantere manier om aan dynamische SQL te ontsnappen?