sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo configurar el tiempo de espera de la conexión en Groovy SQL?

Groovy SQL no controla el tiempo de espera, eso depende de su controlador (Oracle en su caso). Si desea establecer un tiempo de espera en una consulta, eche un vistazo a esta respuesta .

Si desea una configuración de nivel de conexión (para que pueda reutilizar el objeto Sql para múltiples consultas con el tiempo de espera aplicado a cada una), debe configurar su propia conexión y pasarla a la fachada Sql de Groovy. Me gusta

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)

Tenga en cuenta el setNetworkTimeout() El método se agregó en Java 7. Si está utilizando una versión anterior de Java, eche un vistazo a este respuesta (puede usar "oracle.jdbc.OracleDriver" en lugar de OracleConnection.CONNECTION_PROPERTY_THIN_NET_CONNECT_TIMEOUT el campo que responde menciona si desea evitar una dependencia de compilación en los archivos jar de Oracle).

Nuevamente, debido a que Sql de Groovy no altera ni controla ninguna de las configuraciones de conexión, el tiempo de espera predeterminado será cualquiera que sea el predeterminado para el controlador de Oracle.