Avatar billede eik1957 Nybegynder
28. januar 2011 - 10:40 Der er 4 kommentarer og
1 løsning

Test om DB modtager connection.

Jeg vil gerne lave et lille program som tester om en database rent faktisk kan modtage forbindelser.

Hertil har jeg:

if (conn == null) {
    java.sql.Driver driver = (java.sql.Driver) Class.forName("solid.jdbc.SolidDriver").newInstance();
    driver.getMajorVersion();
    String sCon = "jdbc:solid://" + host + ":" + port + "/" + user + "/" + password;
    conn = java.sql.DriverManager.getConnection(sCon);
    conn.setAutoCommit(false);
}
isLiving = conn.prepareStatement("SELECT 1");
isLiving.executeQuery();
isLiving.close();

Men jeg kan ikke detekterer hvis DB staller og altså ikke fejler eller noget men blot holder på "linjen".
Kan man sætte en timeout på el. lign. så hvis den ikke svare indenfor f.eks. 5 sek. så fejler den el. lign.?
Avatar billede arne_v Ekspert
28. januar 2011 - 14:21 #1
JDBC driveren bruger vel almindelig socket, så prøv med:

System.setProperty("sun.net.client.defaultConnectTimeout", 5000);

først i programmet (forudsætter nok SUN Java).
Avatar billede eik1957 Nybegynder
04. februar 2011 - 19:55 #2
arne_v -> Dt lyder jo i hvert fald fornufigt. Hvordan fanger jeg timeoutet, så jeg evt. kan sende en mail el. lign. hvis den timer ud?
Avatar billede arne_v Ekspert
04. februar 2011 - 21:15 #3
Jeg mener at du får en exception som du kan catche helt normalt.
Avatar billede eik1957 Nybegynder
05. februar 2011 - 15:16 #4
Ok, tusind tak. LAver du ikke et svar så jeg kan give dig point :)
Avatar billede arne_v Ekspert
05. februar 2011 - 15:25 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester