Newsgroup: it.comp.java
Titolo: Connessione ad una db Access

Creo la connessione con un db Access'97 ed avviene correttamente (o almeno
cosě sembra visto che non viene sollevata alcuna eccezione), ma non appena
cerco di eseguire una query mi stampa a video la seguente ecdcezione:
"[Microsoft][Driver ODBC Microsoft Access 97] Impossibile leggere record.
Autorizzazione a lettura dati non disponibile per 'Aule' "
Nel db sono configurati diversi utenti e quelli con cui ho provato a
loggarmi hanno tutti l'autorizzazione di leggere e modificare i dati,
addirittura ho usato la username dell amministratore di db, ma niente...
Di seguito riporto il brandello di codice che effettua la connessione e
quello che tenta di eseguire la query:
Connessione:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   String url = "jdbc:odbc:GC";
    con = DriverManager.getConnection(url, "Ale", "");
Query:
 String Query = "SELECT * FROM Aule";
  Statement stmt = con.createStatement();
  rs =stmt.executeQuery(Query);  <-- qui viene sollevata l'eccezione!!!
Ringrazio chiunque mi possa illuminare...
Alexio Cassani


l'istruzione giusta dovrebbe essere:
     ResultSet rs = stmt.executeQuery(Query);
prova e fammi sapere.
Tore

 wrote in message
3753CBAE...@ca.astro.it...


import java.sql.*;
class Prova
{
 public static void main(String args[])
 {
  String url = "jdbc:odbc:GC";
  String user = "Ale";
  String password = "";
  try
  {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     Connection con = DriverManager.getConnection(url,  user, password);
   Statement stmt = con.createStatement();
   String Query = "SELECT * FROM Aule";
   ResultSet rs = stmt.executeQuery(Query);
   while(rs.next())
   {
    // elaborazione dati
   }
     rs.close();
     stmt.close();
     con.close();
  }
   catch(Exception e)
   {
    e.printStackTrace();
   }
 }
}
Prova a gestire l'eccezione in questo modo.
Dovrebbe essere visualizzato a console un
messaggio esplicativo.
Saluti

Ho provato il tuo codice ma mi dà sempre lo stesso errore, col
printStackTrace() ottengo il seguente messaggio:
java.sql.SQLException: [Microsoft][Driver ODBC Microsoft Access 97]
Impossibile
leggere record. Autorizzazione a lettura dati non disponibile per 'Aule'.
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(Compiled Code)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:4246)
        at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:1172)
        at
sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:206)
        at
sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:1
31)
        at m.<init>(m.java:15)
        at m.main(m.java:25)
Ho effettuato diverse prove con account diverse avendo anche utilizzato la
login dell'amministratore.
Essendo il mio programma che utilizza JDBC e non essendo molto pratico di
Access se c'è qualcosa che ti sembra io debba sapere ti ringrazio se me lo
riferissi...
Grazie
Alexio

 class Prova
...

     con = DriverManager.getConnection(url, "Ale", "");
a me sembra che manchi la password
--
Greetings, Alessandro
http://www.esalab.it
Pesaro, Italy
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.


Anche a me ... nel caso in cui la password non vi fosse
perche' non provi a vedere cosa succede con:
con = DriverManager.getConnection(url, "Ale", null );
oppure
con = DriverManager.getConnection(url, "" , "");
Ciao,
Albero.


Problema risolto!!!!
Era colpa di come era stato realizzato il db, una buona operazione taglia e
incolla su di uno nuovo ha messo tutto a posto!!!
Grazie a tutti.
Alexio