Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
JDBC-stuurprogramma downloaden
Time-outinstellingen in het JDBC-stuurprogramma kunnen worden gebruikt om de reactiesnelheid van toepassingen te prioriteren. De meeste time-outs van het stuurprogramma geven standaard prioriteit aan het wachten op een resultaat om gegevensconsistentie te garanderen. Zorg ervoor dat u time-outs kiest die geschikt zijn voor de behoeften van uw toepassing.
Voor de eerste verbinding wordt loginTimeout gebruikt.
-
loginTimeoutis de hoeveelheid tijd, in seconden, dat de driver wacht om een verbinding met de server tot stand te brengen. Als dit bedrag wordt overschreden, wordt er een fout geretourneerd en wordt er geen open verbinding tot stand gebracht. Een nulwaarde geeft aan dat de time-out de standaardtime-out voor het systeem is, wat 30 seconden is in versie 11.2 en hoger. Voor versies 10.2 en lager is de standaardtime-out 15 seconden. Elke niet-nulwaarde geeft het aantal seconden aan dat de driver moet wachten voordat een time-out van een mislukte verbinding optreedt. Als u consistent problemen ondervindt bij het tot stand brengen van een verbinding met het JDBC-stuurprogramma, moet u deze time-out mogelijk verhogen naar 90 of zelfs 120 seconden.
Zodra de verbinding tot stand is gebracht, worden queryTimeout, cancelQueryTimeout, en lockTimeout gebruikt tijdens het uitvoeren van instructies.
socketTimeout wordt gebruikt voor communicatie tussen stuurprogramma's en de server.
-
queryTimeoutis de tijd in seconden dat het stuurprogramma wacht, na het verzenden van een uitvoeropdracht naar de server, om een antwoord met gegevens van de server te ontvangen. Als deze tijd wordt overschreden, wordt de opdracht geannuleerd. Als u deze time-out overschrijdt, wordt de verbinding niet gesloten. De standaardwaarde is -1, wat een oneindige time-out betekent. -
cancelQueryTimeoutis de tijd, in seconden, die de driver wacht op een bevestiging van dequeryTimeoutannulering door de server, voordat de verbinding geforceerd wordt beƫindigd of gesloten. Dat wil gezegd: het stuurprogramma wacht de totale hoeveelheidcancelQueryTimeoutplusqueryTimeoutseconden voordat de verbinding wordt gesloten. Als u deze time-out instelt op een niet-nulwaarde, zorgt u ervoor dat toepassingen responsief kunnen blijven als er sprake is van een netwerk- of communicatiefout met de server wanneer er een time-out optreedt voor een query. De standaardwaarde voor deze eigenschap is -1. Dit is een oneindige wachttijd. -
lockTimeoutis de hoeveelheid tijd die moet worden gewacht totdat een vergrendeling wordt vrijgemaakt, in gevallen waar er een blokkering van de uitvoering van de verklaring is. Het overschrijden van deze time-out resulteert niet in een gesloten verbinding. De standaardwaarde voor deze eigenschap is -1. Dit is een oneindige wachttijd. -
socketTimeoutis van toepassing op alle socketcommunicatie met de server. Als de server de communicatie met het stuurprogramma stopt door gegevens niet te bevestigen of te beantwoorden, wacht het stuurprogramma op de waarde vansocketTimeoutvoordat de verbinding wordt gesloten. Als u deze time-out instelt op een niet-nulwaarde, kunnen toepassingen responsief blijven als er sprake is van een netwerk- of communicatiefout met de server. De standaardwaarde is 0. Dit betekent een oneindige time-out. Zorg ervoor datsocketTimeoutgroter is danqueryTimeoutom sockets-time-outherroepingen tijdens hetqueryTimeout-venster te voorkomen. Zorg er ook voor dat dezesocketTimeoutgroter is dancancelQueryTimeoutom socket-time-outuitzonderingen tijdens decancelQueryTimeoutvenster te voorkomen.
Redelijke time-outwaarden voor uw toepassing zijn afhankelijk van de prioriteiten van de toepassing. Het instellen van lagere waarden voor time-outs geeft prioriteit aan de reactiesnelheid van toepassingen ten opzichte van gegevensconsistentie. Wanneer time-outs zijn bereikt, moeten toepassingen beslissen wat de beste actie is. Deze beslissing is gebaseerd op de databaseactie die wordt uitgevoerd. Voor een SELECT instructie kan de beslissing bijvoorbeeld zijn om een fout aan de gebruiker te rapporteren, of de beslissing kan ook zijn om opnieuw verbinding te maken en het opnieuw te proberen. Voor INSERT of UPDATE verklaringen kan deze beslissing afwijken.
Voor een responsieve toepassing moeten loginTimeout en queryTimeout worden ingesteld op relatief lage waarden. Op dezelfde manier cancelQueryTimeout moet ook worden ingesteld op een lage waarde om ervoor te zorgen dat het stuurprogramma niet te lang wacht totdat de server de annulering van de query bevestigt, wanneer een queryTimeout wordt overschreden. Ten slotte socketTimeout moet worden ingesteld om te voorkomen dat het stuurprogramma te lang wacht tijdens elk scenario waarin de verbinding met de server is verbroken (netwerkonderbreking, servercrash, enzovoort).
Samenvatting van eigenschappen
| Vastgoed | Description | Verstek | Verbindingsresultaat |
|---|---|---|---|
loginTimeout |
Het aantal seconden dat de driver moet wachten voordat er een time-out optreedt voor een mislukte verbinding. | 30 seconden [11,2+], anders 15 seconden |
Gesloten verbinding |
queryTimeout |
Het aantal seconden dat moet worden gewacht voordat een query wordt geannuleerd. | -1 [Oneindige timeout] | Verbinding openen |
cancelQueryTimeout |
Het aantal seconden dat moet worden gewacht op een bevestiging van de annulering van QueryTimeout. | -1 [Oneindige timeout] | Gesloten verbinding |
lockTimeout |
Het aantal milliseconden dat moet worden gewacht totdat de database een vergrendelings-time-out fout retourneert. | -1 [Oneindige timeout] | Verbinding openen |
socketTimeout |
Het aantal milliseconden dat moet worden gewacht voor een socket-lees- of -schrijfoperatie. | Nul [oneindige time-out] | Gesloten verbinding |