Ho letto tutti i messaggi "Risorsa di sistema superata", ma non è simile a loro. Ho passato le ultime 3 ore alla ricerca di una soluzione. Non ho molte connessioni/istruzioni/gruppi di risultati e le chiudo sempre tutte. Il mio codice funzionava ma ora ottengo l'eccezione "Risorsa di sistema superata", non durante le query, ma QUANDO CERCO DI COLLEGARSI. Non ho cambiato nulla dal mio codice, tuttavia non funziona al momento, tranne 1 su 10 volte lo provo. Ho provato a cambiare alcune cose ma nessuna differenza. I file di accesso sono 15 - 50 MB. Il mio codice è:"Risorsa di sistema superata" durante la connessione al file di accesso tramite Java jdbc odbc
private String accessFilePath;
private Connection myConnection;
public boolean connectToAccess(String myAccessFilePath) {
accessFilePath = myAccessFilePath;
//Get connection to database
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// set properties for unicode
Properties myProperties = new Properties();
myProperties.put("charSet", "windows-1253");
myConnection = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + accessFilePath, myProperties); // I get the exception here
} catch (Exception ex) {
System.out.println("Failed to connect to " + accessFilePath + " database\n" + ex.getMessage());
return false;
}
return true;
}
Quello che oggi è diverso da altri tempi? I file di Access mantengono aperte le connessioni precedenti? Cosa può esserci di sbagliato qui?
Hai provato a riavviare il tuo sistema operativo? Potrebbe essere che alcune risorse relative alla connessione non siano mai state deallocate a causa, forse, delle interruzioni del programma che non sono mai riuscite a chiudere la connessione. –
Ho già provato a riavviare. Era il mio primo pensiero. Trovo molto strano che dopo un nuovo riavvio, ottengo l'eccezione durante il primo tentativo di connessione. È pazzesco ... Ho anche la stessa eccezione per i vari file di Access –
Wow, è bizzarro. La prossima cosa da provare: puoi accedere a questi file da C# o VB usando ADO? –