|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Mar 2004
Messaggi: 76
|
[JAVA JDBC] Determinare esistenza di una istanza DB
Ciao a tutti!
Ultimamente mi son trovato dinnanzi a un piccolo dilemma. Sto partecipando ad un corso, nella quale sede interroghiamo con JAVA un server Oracle 9.2. Ho installato sul mio portatile lo stesso server e la stessa tabella su cui ci stiamo esercitando, ma ovviamente la stringa di connessione è diversa. Avrei quindi la necessità di scrivere una classe che, se trova il DB del corso ci si connette, altrimenti si connette al DB locale. Ora, so dell'esistenza di frameworks Hybernate e Struts ecc ecc, ma visto che per ora non ho tempo di studiarlo, e le specifiche prevedono il solo JDBC "classico", avrei bisogno di un sistema per determinare se esiste una istanza di un db. Avevo pensato di gestire un eccezione ma sarei più contento magari di trovare un metodo che magari restituisce un boolean se trova un istanza del primo DB. Grazie in anticipo! |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Mar 2004
Messaggi: 76
|
Beh...alla fine per una scelta rapida adatta alla situazione ho usato semplicemente un eccezione:
Codice:
public Connection connPrimoDbCheTrovi(){
Connection conn=null;
try {
DriverManager.registerDriver(new OracleDriver());
conn =DriverManager.getConnection("jdbc:oracle:thin:@server1:1521:db1","user1","pass1");
} catch (SQLException e) {
try {
DriverManager.registerDriver(new OracleDriver());
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:db2","user2","pass2");
} catch (SQLException e1) {
e1.printStackTrace();
}
}
return conn;
}
Grazie ancora in anticipo! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Anche con più database, puoi utilizzare la soluzione che hai proposto:
Codice:
String[] stringhe_di_connessione;
boolean connesso=false;
int i=0;
while (!connesso && i<stringhe_di_connessione.length)
{
try
{
connetti(stinghe_di_connessione[i]);
...
connesso=true;
}
catch(..) {i++};
}
if (!connesso) apri la connessione locale
__________________
Il sole è giallo |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Mar 2004
Messaggi: 76
|
Grazie!
Effettivamente il ciclo con un array è più leggibile e schematico |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:14.



















