Visualizzazione dei risultati da 1 a 8 su 8

Discussione: java e access 2007

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    45

    java e access 2007

    Salve a tutti. Sto studiando java e i database. Il database che ho sul mio computer è acces 2007; il sistema operativo è windows 7 ultimate 32 bit.
    Ho a che fare con questa applicazione java di cui riporto il codice

    codice:
    import java.sql.*;
    public class UserLogin {
    public static void main(String[] args) {
    try {
    // Load MS accces driver class
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    // C:\\databaseFileName.accdb" - location of your database 
    String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + "C:\\progetto_caritas\\Caritas.accdb";
    // specify url, username, pasword - make sure these are valid 
    Connection conn = DriverManager.getConnection(url, "username", "password");
    System.out.println("Connection Succesfull");
    } catch (Exception e) {
    System.err.println("Got an exception! ");
    System.err.println(e.getMessage());
    }}}

    solo che quando la mando in esecuzione mi dà i seguenti messaggi
    Got an exception!
    sun.jdbc.odbc.JdbcOdbcDriver

    Ho pure fatto i seguenti passi:
    1. Pannello di controllo

    2.Strumenti di amministrazione

    3. Origine dati (ODBC)

    4. DSN Sistema
    5.Aggiungi
    6. Microsoft Access Driver (*.mdb, *.accdb)
    7.Fine
    8. In nome origine dati metto Caritas.accdb
    9. poi faccio seleziona e seleziono c:\progetto_caritas\Caritas.accdb

    ma mi dà sempre la solita eccezzione che non trova il driver
    Qualcuno in merito è in grado di darmi qualche dritta? Grazie
    Ultima modifica di LeleFT; 18-11-2015 a 13:49 Motivo: Aggiunti i tag CODE

  2. #2
    inserisci il tuo codice tra i tag
    [code]
    your code here
    [/code]
    altrimenti non si capisce nulla.

    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Ho sistemato la discussione aggiungendo i tag CODE.
    Ad ogni modo, premesso che l'uso del bridge JDBC-ODBC è stato deprecato dalla versione 8 di Java (che non ha più quel bridge) e che già il bridge aveva problemi prima, consiglierei di passare ad una soluzione più adeguata: usare la libreria UCanAccess.

    In alternativa, ti invito a leggere anche Questa integrazione fatta su segnalazione del buon Andrea1979 riguardante l'uso del bridge JDBC-ODBC per Access sui sistemi Windows a 64 bit.


    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

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    45
    Ciao LeleFT infatti ho utilizzato la libreria UCanAccess. e se mando in esecuzione il mio programma java con l'ide jcreator tutto funziona a meraviglia perchè ho messo i file *.jar di UcanAccess in C:\Program Files\Java\jdk1.8.0_66\jre\lib\ext. Però c'è un fatto se voglio rendere la mia applicazione distribuibile cioè dal prompt del dos faccio jar cmf info.txt Nome.jar *.accdb *.class; facendo questo comando mi viene creato il file Nome.jar; facendo doppio click in Nome.jar mi viene eseguito, solo che non mi fa la connessione al data base. Cosa bisogna fare per importare delle librerie esterne in un file jar? Forse nel file manifest scrivere qualche cosa del tipo Class-Path: nomi dei jar di UcanaAccess lo fatto ma non mi fa la connessione al data base. Puoi aiutarmi in merito? Grazie anticipatamente

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da a3g Visualizza il messaggio
    Forse nel file manifest scrivere qualche cosa del tipo Class-Path: nomi dei jar di UcanaAccess lo fatto ma non mi fa la connessione al data base.
    Sì, proprio l'attributo Class-Path .
    Ma le specifiche del manifest sono molto "pignole". Innanzitutto Class-Path può indicare più jar, separati da spazi e devono essere URL "relativi". URL innanzitutto nel senso che devono usare '/' come separatore delle directory. Poi comunque non bisogna superare le 72 colonne, c'è un modo specifico per far andare a capo la riga. E infine devi stare attento nella scrittura del manifest perché devi mettere una riga vuota al fondo, altrimenti non prende l'ultima dichiarazione.
    Insomma, è così pignolo che generalmente è meglio generare jar e manifest tramite dei tools di build: Apache Ant, Apache Maven, Gradle ecc..

    Comunque un qualcosa del tipo:

    Class-Path: libs/lib1.jar libs/lib2.jar
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Vorrei aggiungere solo una cosa.
    Da java 6 si possono usare i caratteri jolly.
    Se hai le librerie sotto una stessa directory, nel classpath puoi usare
    lib/*
    dove ti prenderà tutti i jar.
    E' una bella cosa nel caso tu abbia parecchie librerie.
    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Da java 6 si possono usare i caratteri jolly.
    Se hai le librerie sotto una stessa directory, nel classpath puoi usare
    lib/*
    dove ti prenderà tutti i jar.
    Sì vero in generale ma NON funziona nel manifest. Dalla documentazione ufficiale: "However, class path wildcards are not honored in the Class-Path jar-manifest header."
    Nel manifest vanno elencati tutti i jar uno per uno.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    E' vero, tant'è che tendo ad usare un file bat, che alle volte è molto + veloce.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

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.