PDA

Visualizza la versione completa : [java] problema sql exception


les
20-11-2003, 12:04
ciao a tutti
io ho una classe Database in cui faccio una connessione


public Database() {

//------------------------- CARICO DRIVER -----------------------------

try {

if (!caricato) {
Class.forName("com.sybase.jdbcx.SybDriver");
System.out.println("Driver caricato");
caricato = true;
}
else System.out.println("Driver gi caricato");
}
catch (Exception e) {
caricato = false;
System.out.println("Problemi a caricare il driver...");
}
//-------------------------------------------------------------


}//costruttore

//-------------- ESEGUI CONNESSIONE --------------------------
public boolean connetti(){



if (!caricato) return false;

try {
String sybase = "jdbc:sybase:Tds://193.70.237.74:4100/conn?dbtype=jbdc&dsn='NCOMS'";
conn = DriverManager.getConnection(sybase,user,pass);
System.out.println("Connessione effettuauta");
return true;
} catch (Exception e) {
e.printStackTrace();
System.out.println("Connessione non effettuata");
return false;
}
}
//------------------------------------------------------------




mi da questo errore

Driver caricato

Connessione non effettuata

java.sql.SQLException: No suitable driver

at java.sql.DriverManager.getConnection(DriverManager .java:537)

at java.sql.DriverManager.getConnection(DriverManager .java:177)

at connessionesybase.Database.connetti(Database.java: 55)

at connessionesybase.win.<init>(win.java:19)

at connessionesybase.Start.main(Start.java:17)


COSA DEVO FARE?

ChReAn
20-11-2003, 13:48
java.sql.SQLException: No suitable driver

Direi che non trova il driver, forse non e' nel classpath.

les
20-11-2003, 16:39
grazie ho risolto
per adesso ho un'altro problema

riesco a connettermi al db adesso solo che mi da questo errore:

java.sql.SQLException: JZ0R2: No result set for this query.
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(Erro rMessage.java:500)
at com.sybase.jdbc2.jdbc.SybStatement.queryLoop(SybSt atement.java:1525)
at com.sybase.jdbc2.jdbc.SybStatement.executeQuery(Sy bStatement.java:1495)
at com.sybase.jdbc2.jdbc.SybStatement.executeQuery(Sy bStatement.java:402)
at win.eseguiComando(win.java:31)
at win.<init>(win.java:17)
at Start.main(Start.java:15)

questo il codice: public void eseguiComando(){
try {

Statement sta = db.stat();
String sql = "La SELECT";

ResultSet rs = sta.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString(1));
}

db.disconnetti();
}
catch (Exception ex) {
ex.printStackTrace();
}

}

mi da errore sul ResultSet, dice che vuoto

spero tu possa aiutarmi
grazie ciao

cristiano_longo
20-11-2003, 17:00
Non ti dice che e' vuoto, ti dice che non esiste. Puoi postare la query?

ChReAn
20-11-2003, 17:23
Spero che la variabile sql non sia davvero impostata a "La SELECT". :quote:

les
21-11-2003, 09:04
la query
"SELECT * from alerts";

ok che nn sono un genio per mi sembrava chiaro che nn fosse LA SELECT

la tabella nn vuota..

potrebbe essere un problema di Statement?

les
21-11-2003, 10:39
ho cercato l'errore in rete e mi dice che devo usare il CallableStatement , solo che nel prepareCall devo inserire una STORED PROCEDURE , nn riesco a capire per come e dove fare questa STORED PROCEDURE... :dh:

c' qualcuno che pu aiutarmi?

io lavoro con Sybase... :bh:

cristiano_longo
21-11-2003, 10:48
Non credo proprio che tu debba usare STORED PROCEDURES. Per i callable statement sono un po meno sicuro. Prova a ottenere il tuo statement mediante il classico



Connection.createStatement();

Loading