sql >> Database >  >> RDS >> Oracle

Hoe de verbindingstime-out in groovy sql in te stellen?

Groovy SQL heeft geen controle over de time-out, dat is aan uw stuurprogramma (in uw geval Oracle). Als je een time-out voor een zoekopdracht wilt instellen, bekijk dan dit antwoord .

Als u een verbindingsniveau-instelling wilt (zodat u het Sql-object opnieuw kunt gebruiken voor meerdere query's met de time-out die op elke query wordt toegepast), moet u uw eigen verbinding instellen en deze doorgeven aan Groovy's Sql-gevel. Vind ik leuk

def dev_env = [
  url:"jdbc:oracle:thin:@//aguat:1521/orcl",
  user:"ricky",
  password:"ricky",
  driver:"oracle.jdbc.OracleDriver"
]
Class.forName(dev_env['driver'])
def conn = DriverManager.getConnection(dev_env['url'], dev_env['user'],dev_env['password'])
conn.setNetworkTimeout(null, 10000)
def sql = new Sql(conn)

Let op de setNetworkTimeout() methode is toegevoegd in Java 7. Als je een oudere versie van Java gebruikt, bekijk dan deze antwoord (u kunt "oracle.jdbc.OracleDriver" gebruiken in plaats van de OracleConnection.CONNECTION_PROPERTY_THIN_NET_CONNECT_TIMEOUT veld dat in het antwoord vermeldt of u een compileerafhankelijkheid van Oracle-jars wilt vermijden).

Nogmaals, omdat Groovy's Sql geen van de verbindingsinstellingen wijzigt of beheert, is de standaard time-out wat de standaard is voor Oracle's Driver.




  1. Hoe kun je zien welk tnsnames.ora-bestand wordt gebruikt door een .net-aanroep?

  2. Een opgeslagen procedure uitvoeren vanuit crontab

  3. Python MySQLdb herhaalt de tabel

  4. PostgreSQL - Functie met lokale variabelen - Kolomverwijzing is dubbelzinnig