|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2009
Messaggi: 98
|
[Android - JAVA] timeout connessione database
in java quando cerco di connettermi ad un host che non è in ascolto dopo qualche secondo ricevo questo errore:
Exception in thread "main" org.postgresql.util.PSQLException: Connessione rifiutata. Controllare che il nome dell'host e la porta siano corretti, e che il server (postmaster) sia in esecuzione con l'opzione -i, che abilita le connessioni attraverso la rete TCP/IP. at org.postgresql.Driver$ConnectThread.getResult(Driver.java:346) at org.postgresql.Driver.connect(Driver.java:269) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at Main.main(Main.java:20) Caused by: java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at org.postgresql.core.PGStream.<init>(PGStream.java:60) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:74) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:64) at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:123) at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:28) at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:20) at org.postgresql.jdbc3g.Jdbc3gConnection.<init>(Jdbc3gConnection.java:22) at org.postgresql.Driver.makeConnection(Driver.java:391) at org.postgresql.Driver.access$100(Driver.java:45) at org.postgresql.Driver$ConnectThread.run(Driver.java:306) at java.lang.Thread.run(Unknown Source) in android invece si blocca l'applicazione e non ricevo nessuna eccezione. come posso risolvere? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Ma se non è in ascolto (server SQL down?) è ovvio che non si connetta...
Non ho capito cosa vuoi fare... comunque le eccezioni andrebbero gestite, forse intendi quello?
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Dec 2009
Messaggi: 98
|
no... io voglio riuscire a gestire, in android, il caso in cui viene inserito un ip sbagliato a cui connettersi. se provo a fare una cosa del genere in un'applicazione java il tutto funziona, restituendomi un eccezione. mentre in android non viene restituita nessuna eccezione... probabilmente potrebbe essere un problema di driver
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Magari posta il codice che mostra come effettui la connessione
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Dec 2009
Messaggi: 98
|
Codice:
String url = "jdbc:postgresql://" + ip +":" + porta +"/" + nomeDB + "?user=" +username + "&password=" + password; DriverManager.setLoginTimeout(5); connection = DriverManager.getConnection(url); Statement st = null; ResultSet rs = null; try { st = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); rs = st.executeQuery(query); } catch (SQLException e) { e.printStackTrace(); } |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:10.