sql >> Databasteknik >  >> RDS >> Oracle

Ställa in nätverkstidsgräns för JDBC-anslutning

setNetworkTimeout() introducerades i JDBC 4.1 och fanns inte i JDBC 4.0.

Du kommer att vilja ha ojdbc7 eftersom JDBC 4.1 bara kom med Java 7 om du vill använda setNetworkTimeout() metod.

Det underliggande problemet är att lägga till metoder till gränssnitt i senare specifikationer kan göra att äldre implementeringar av dessa gränssnitt bryter med fel. En av de nya funktionerna i den kommande Java 8, standardmetoder, kommer förhoppningsvis att göra detta något mindre problem.

Tydligen finns det också en JDBC-drivrutinsegenskap för Oracle som kan ändra sockets timeouts.

Du kan också prova att använda den här Oracle JDBC-egenskapen för att ställa in sockets timeout om du använder den tunna drivrutinen:

Properties props = new Properties();
props.setProperty("user", "dbuser");
props.setProperty("password", "dbpassword");
props.setProperty(OracleConnection.CONNECTION_PROPERTY_THIN_NET_CONNECT_TIMEOUT, "2000");

Connection con = DriverManager.getConnection("<JDBC connection string>", props);


  1. Hur skriver man parametriserad orakelinfogningsfråga?

  2. PostgreSQL lastbalansering med HAProxy &Keepalved

  3. Oracle-funktionsexempel för att få antal dagar mellan två datum

  4. Skapa en PostgreSQL-användare och lägga till dem i en databas