PDA

Visualizza la versione completa : [java] connessione database access


Valakov
07-04-2004, 16:55
Salve ho un problema con un database in access..
Ho fatto anche le ricerche sui vecchi post, ma anche seguendo i vari consigli non riesco a fare andare la connessione...
la mia classe è:
import java.sql.*;

public class Connessione {

public static void main(String[] args) throws SQLException, {

Connection con;
Statement stat;
ResultSet res;
String url;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}

catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException: ");
System.err.println(e.getMessage());
}

url = "jdbc:odbc:;DRIVER={Microsoft Access Driver(*.mdb)};DBQ=E:\\AndreaStage\\Prove\\vendite \\database\\MASTER.mdb";
con = DriverManager.getConnection(url,"","");
}

}
l'errore è:
Nome origine dati non trovato e driver predefinito non specificato.

alla riga:

con = DriverManager.getConnection(url,"","");

spero che qualcuno sia così gentile da aiutarmi..

Sergio Pedone
07-04-2004, 17:26
Originariamente inviato da Valakov

url = "jdbc:odbc:;DRIVER={Microsoft Access Driver(*.mdb)};DBQ=E:\\AndreaStage\\Prove\\vendite \\database\\MASTER.mdb";

Mi sa tanto che l'errore sta tutto nel ';' (punto e virgola)
dopo la stringa odbc.
L'errore infatti ti dice origine dati non trovata.
Riprova poi fatti sentire.

Valakov
07-04-2004, 17:45
Niente, mi da ancora errore..
Mi sono accorto di un'altra stranezza..
Sto usando Eclipse, ho creato il classico programmino di HelloWorld, lo provo e funziona correttamente.
Poi per curiosità decido di provarlo dalla shell..
Lo compilo e va tutto bene, ma quando lancio il comando java mi appare questo errore:
Exception in thread "main" java.lang.NoClassDefFoundError: Hello

sai perchè? ho sbagliato a installare qualcosa?
la mi aversione è j2sdk1.4.2_04

Sergio Pedone
07-04-2004, 17:56
Credo tu debba impostare la variabile di ambiente CLASSPATH.
Per quando riguarda il tuo DB, assicurati che la stringa url
sia corretta, che la posizione del file .mdb sia quella, ...
:ciauz:

pippo75
07-04-2004, 18:03
Dato che username e password sono nulle, prova a utilizzare il metodo getConnection senza passare quei due parametri

Valakov
07-04-2004, 18:34
E' possibile che non riconosca il driver di ACCESS? per caso ho bisogno di qualche classe?

pippo75
07-04-2004, 18:47
Assolutamente no. Il bridge jdbc-odbc è nativo, piuttosto assicurati di avere access installato, oppure di avere un SO a partire da Win2k in poi
cmq, riguardando la stringa di connessione che gli passi, devi togliere il ; dopo odbc e scrivere driver in minuscolo

prova ;)

Valakov
07-04-2004, 21:51
Boh.. non capisco.. ho fatto come dicevate ma nulla..
Ho provato anche a mettere il database in C: così non potevo sbagliare.. ho fatto maiuscole e minuscole in quantità..
Access è installato e ho provato sia su XP che con 2000.

è possibile che l'errore sia dovuto a una dimenticanza sopra?

hmm ma è giusto mettere ;DBQ=C:\\MASTER.mdb dopo il driver?

la stringa ora è così:
DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=C:\\andrea.mdb");

Valakov
07-04-2004, 21:56
Magari qualcuno ha una stringa funzionante così la copio e sostituisco solo il percorso del database??

Valakov
07-04-2004, 22:20
Problema risolto!!!
l'errore (oltre quelli segnalati..) era nel fatto che non mettevo lo spazio tra Driver e (*.mdb).. asd

Grazie pippo75 e Sergio Pedone! siete stati molto gentili!

Loading