sql >> Database teknologi >  >> RDS >> Oracle

Hvordan indstiller man forbindelsestimeout i groovy sql?

Groovy SQL styrer ikke timeoutet, det er op til din driver (Oracle i dit tilfælde). Hvis du vil indstille en timeout på en forespørgsel, kan du se dette svar .

Hvis du ønsker en indstilling på forbindelsesniveau (så du kan genbruge SQL-objektet til flere forespørgsler med timeout anvendt på hver), skal du konfigurere din egen forbindelse og videregive den til Groovys SQL-facade. Sådan her

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)

Bemærk setNetworkTimeout() metode blev tilføjet i Java 7. Hvis du bruger en ældre version af Java, så tag et kig på denne svar (du kan bruge "oracle.jdbc.OracleDriver" i stedet for OracleConnection.CONNECTION_PROPERTY_THIN_NET_CONNECT_TIMEOUT felt, som svaret nævner, hvis du vil undgå en kompileringsafhængighed af Oracle-jars).

Igen, fordi Groovy's Sql ikke ændrer eller kontrollerer nogen af ​​forbindelsesindstillingerne, vil standard timeout være, hvad end standarden er for Oracles driver.




  1. hvordan man deler kolonnerne i resultat af forespørgsel i Oracle-databasen

  2. Sådan konfigureres automatisk failover for Moodle MySQL-databasen

  3. Sådan forbedres MySQL AWS-ydeevne 2X over Amazon RDS til samme pris

  4. MySQL-lignende forespørgsel kører ekstremt langsomt for en tabel med 5000 poster