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

    Connessione db Access Java senza configurazione ODBC

    Ciao ragazzi è da un pò che sto cercando di connettere un database in Java senza la configurazione dell'origine dati ma non ci riesco.. Questa è la mia classe cosa sbaglio????
    codice:
    import java.sql.Connection; 
    import java.sql.DriverManager;0
     import java.sql.SQLException;  
    public class prova {  	
    public static void main(String[] args) throws Exception { 		
    Connection dbconn = null; 		
    try { 			
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 			
    String url = "jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=C:\\db1.mdb"; 			
    dbconn = DriverManager.getConnection( url, "", "" );  		
    } catch (SQLException e) { 			
    e.printStackTrace(); 		
    } finally { 			 			
    dbconn.close(); 		
    } 	
    } 
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Il linguaggio Java ha una sezione dedicata: sposto la discussione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,317

    Re: Connessione db Access Java senza configurazione ODBC

    Originariamente inviato da andreaginobili
    Questa è la mia classe cosa sbaglio????
    E noi come facciamo a sapere cosa sbagli?
    Non hai detto se hai degli errori in compilazione o esecuzione. Non hai detto quali sono questi errori. Non hai detto su che piattaforma stai cercando di far eseguire il programma.

    Un medico vuole sapere quali sono i sintomi per poter curare una malattia, non basta dire "sto male".

    Riporta esattamente tutti gli errori che ottieni e dicci anche in che fase dello sviluppo li ottieni.

    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
    Si hai ragione... comunque girovagando sul web sono riuscito a intuire che il problema era di win 7 e infatti su winw xp funziona... Purtroppo io dovevo collegarmi a un database Access presente su un server su internet, ma a quanto mi hanno detto non è possibile... me lo confermate?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da andreaginobili
    Si hai ragione... comunque girovagando sul web sono riuscito a intuire che il problema era di win 7 e infatti su winw xp funziona... Purtroppo io dovevo collegarmi a un database Access presente su un server su internet, ma a quanto mi hanno detto non è possibile... me lo confermate?
    e chi ti dice che non sia possibile?
    In base a cosa noi ti possiamo dire che non lo è? Un minimo di configurazione/errori in seguito a tentativi aiuterebbero noi ad aiutare te
    RTFM Read That F*** Manual!!!

  6. #6
    Allora io ho fatto un sacco di tentativi... però continuo ad avere un errore del genere:
    [Microsoft][Driver ODBC Microsoft Access] Errore di rete o disco.


    poi da uno dei tanti siti in inglese che ho trovato dicevano che non è possibile...
    Premetto che il db al quale voglio connettermi è su un server aruba.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    guarda in queste condizioni ci rinuncio, perché nonostante ti siano stati chiesti dettagli (non dovevi mettere la stringa di connessione completa, bastava metterla con i dati sensibili mascherati da pippo/pluto/paperino) ti ostini a non dire niente a parlare di chissà quale sito in inglese che non ti fa fare sta roba.
    Oltretutto non dici nemmeno come è configurato il server, se fuori dal tuo programma java accedi al database (e non ho capito perché access)....andiamo a fantasia ed intuito e in questo modo visto che qualche sito in inglese ti dice che non si può fare non si può fare
    RTFM Read That F*** Manual!!!

  8. #8
    Allora mi sa che non ci siamo capiti bene, quindi per evitare nuove incomprensioni ti scrivo tutto il meglio possibile:

    1) ho un database Access (è access perchè non l'ho fatto io ma il gestore di un sito internet creato un bel pò di anni fa). Tale database risiede su un server aruba che fornisce pure servizio hosting, chiaramente io ci accedo con Dreamweaver tranquillamente.

    2) Devo lavorare in Java ma avendo usato finora mySQL mi sono messo a spulciare su internet e ho iniziato a provare un pò di codice, la stringa di connessione che "presumo" sia esatta è tipo questa:
    String url = "jdbcdbc:driver={Microsoft Access Driver(*.mdb)};DBQ=\\\\www.miosito.it\\mdb-database\\miodb.mdb";

    ma dopo un pò di attesa il compilatore mi da errore qui:
    dbconn = DriverManager.getConnection(url);

    e l'errore è: [Microsoft][Driver ODBC Microsoft Access] Errore di rete o disco.

    a questo punto mi è venuto il dubbio che non era possibile una connesione del genere con Access in quanto la microsoft non ti fornisce un server al quale connetterti (mentre io ero convinto che potevo connettermi al server proprietario). Parlo di server al quale conettermi perchè come ben saprete voi mySQL ma anche PostgreSQL ti forniscono server e porta.


    3) Parlo di sito in inglese perchè è l'unica fonte che ho, e tra l'altro non saprei nemmeno indicarti un link perchè dopo aver letto ho chiuso... non per altro...

    spero di essere stato chiaro or, comunque per qualsiasi altra info chiedete tranquillamente...

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    147
    Mai usato Access in accesso remoto, comunque la stringa dovrebbe essere del tipo:

    codice:
    String myDB ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=//host/db1.MDB";
    che a meno di qualche backslash di troppo prima dell'URL, mi sembra la stessa che hai utilizzato tu... MySQL e Postgres non fanno testo perché sono DBMS basati su un server apposito (per questo hai bisogno di una specifica porta), mentre Access è basato su file e ti serve solo il path di questo file... Il problema potrebbe essere che il database (che alla fine è un file) sia una risorsa (volutamente e giustamente) non raggiungibile dall'esterno e quindi il webserver di Aruba risponde picche alla tua getConnection()... Sono impostazioni di sicurezza che si fanno o su Apache o mediante il file .htaccess che si mette nella root del tuo dominio.
    Prova a raggiungere col tuo browser http://www.miosito.it/mdb-database/miodb.mdb
    se hai una pagina bianca o un messaggio esplicito di Apache allora da Java non puoi fare niente e devi solo mettere mano alle configurazioni di sicurezza impostate.

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    non è che non si possa fare: tieni conto che accedi ad una locazione di un server, accedi al suo file system. Per ragioni di protezione, l'accesso dall'esterno è vietato.
    Dovresti fare una vera applicazione client/server, in cui è il tuo server (che gira sulla stessa macchina in cui risiede il db) a fare la richiesta al db.
    Lato client è fatta una richiesta al server, non è il client che direttamente accede al db.
    Fermo restando che se non vuoi mettere su una web application, l'unica opzione logica è cambiare database.
    RTFM Read That F*** Manual!!!

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.