Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [Access2007] problema connessione database

    Salve a tutti sono nuovo del forum e ho subito un problemino da proporvi che probabilmente avrà una soluzione banale ma che non sono riuscito a risolvere.

    allora il problema è il seguente devo connettere un db fatto con access2007 al mio programmino java cominciamo dalle cose banali:

    1- Devo importare qualche libreria in particolare ?
    2- Sia la connessione tramite DSN che tramite percorso non vanno, di seguito posto il codice

    codice:
    public class Database {
    
    static private Connection defaultConnection;
    static String driver ="sun.jdbc.odbc.JdbcOdbcDriver";
    static String url = "jdbc.odbc.MYSDN";
    
    public Database()
    {
    
    }
    
    public void nuovaConnessione() throws SQLException, ClassNotFoundException {
       try
       {
            //CARICA IL DRIVER E QUINDI REGISTRALO
            Driver d = (Driver)Class.forName(driver).newInstance();
        }
        catch (Exception ex)
        {
            JOptionPane.showMessageDialog(null,"Driver non trovato");
        }
        try
       {
            System.out.println("Qui ci arrivo");
            defaultConnection = DriverManager.getConnection("jdbc:odbcriver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=C:\\Users\\Marco\\Desktop\\italpol.accdb");
    
            defaultConnection = DriverManager.getConnection("url");
            System.out.println("Qui non ci arrivo");
        }
        catch(SQLException e)
        {
              JOptionPane.showMessageDialog(null,"Connessione fallita");
              e.printStackTrace();
        }
    
    }
    quando uso url all'interno come parametro per DriverManager.getConnessione("url") da questo errore:
    No suitable driver found for url
    quando uso il percorso invece :
    nome origine dati non trovato e driver predefinito non specificato

    Ho lasciato entrambi i tentativi con i percorso e con il DSN ma ovviamente li provo uno alla volta.
    Cortesemente c'è qualcuno che può darmi un aiuto grazie ciao a tutti
    Marco

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Ciao.
    Prova a dare un'occhiata a questa mia vecchia pillola. La prima parte riguarda la connessione tramite driver JDBC ad un database MySQL, ma la seconda parte riguarda proprio la connessione ad Access con bridge JDBC-ODBC.

    La stringa di connessione va fatta usando un protocollo ben preciso, che non mi pare tu abbia scritto in modo corretto.

    In particolare, questa dovrebbe essere la sintassi:

    "jdbcdbc:Nome_DSN;attributi"

    Dove Nome_DSN, per l'accesso diretto ad un file Access, deve essere la stringa vuota (non usi un DSN di sistema), mentre attributi è un elenco di coppie chiave=valore, separate da punto e virgola, in cui c'è anche il nome del driver ODBC.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ho copiato spudoratamente il tuo codice e sostituito il percorso in un paio di modi per provare

    1 - String [][] parametri = {{"DRIVER", "Microsoft Access Driver (*.mdb,.*accdb)"},
    {"DBQ", "C:\\italpol.accdb"}

    che sarebbe il mio database messo sotto C: per non sbagliare percorso

    2 - String [][] parametri = {{"DRIVER", "Microsoft Access Driver (*.mdb,.*accdb)"},
    {"DBQ","C:\\Users\\Marco\\Documents\\NetBeansProje cts\\italpol\\italpol.accdb"}
    };

    che sarebbe il percorso dove ho il mio database

    non so se l'errore potrebbe essere dovuto al fatto che il mio file è .accdb e non .mdb e quindi cambia qualcosa

    comunque mi esce sempre il solito errore:
    [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.

    qualche idea ?
    grazie ciao

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Noto che c'è un errore nel nome del driver che stai passando... o almento credo non sia corretto.

    Tu hai scritto
    codice:
    "Microsoft Access Driver (*.mdb,.*accdb)"
                                    ^
    Ma credo che quello corretto sia
    codice:
    "Microsoft Access Driver (*.mdb,*.accdb)"
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    l'errore c'era ma solo di battitura nel programma ho scritto bn ma continua a non andare....
    non so più che cosa provare...

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da mharck87
    l'errore c'era ma solo di battitura nel programma ho scritto bn ma continua a non andare....
    non so più che cosa provare...
    Hai verificato che il driver si chiami esattamente in quel modo?
    Il codice di quella pillola è piuttosto vecchio e si basa sul nome del driver standard pre-installato con Windows XP. Se, come presumo, stai usando una versione diversa di Access e, magari, Win7, verifica che il driver esista e verificane anche il nome... può essere che sia cambiato.

    Sinceramente non ho effettuato nessuna prova su Win7.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.