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

    connettersi in java su mysql remoto

    Buon giorno nella classe per connettersi con java in mysql locale io ho scritto quanto segue:

    private static String db = "nome database";
    private static String url = "jdbc:mysql://"nome host" +
    "?user="nome usre&password="password"*&database="nome database"";

    private static String user = "nome user";
    private static String pass = "password";

    poi sotto ho' usato per connettermi:

    private static Connection conn ;

    public static Connection getConnect() {

    conn = DriverManager.getConnection(url, user, pass );

    return conn ;



    La classe si connette senza nessun probblema e ho messo un messaggio di risposta con joptionpanel che mi dice che si e' connesso con successo al database

    sul programma devo solo inserire 4 dati nome,cognome,telefono e email e nel database remoto l'ho' chiamato "contatti" e ho' creato le varie voci dello stesso nome.

    Quando vado pero' a salvare mi viene fuori la scritta"no database selected.

    ----------------------------------------

    Ora perche' mi viene fuori quella scritta?Ho provato in tutte le maniere i dati inseriti nelle variabili sono giusti o devo specificare anche il nome della tabella?Se lo usavo in locale mysql non serve che specifico la tabella e poi essa l'ho gia creata qual'e' il problema se sapete aiutarmi gazie?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Verifica che venga effettivamente instaurata la connessione, facendoti stampare lo stack-trace delle eventuali eccezioni sollevate. Dal messaggio che hai postato mi sa che manca l'indicazione del nome del DB da usare, nella stringa di connessione.

    Se vengono sollevate delle eccezioni controllale ed, eventualmente, postale qui in modo che possiamo controllarle.

    Le cause principali per cui un'applicazione non si connette ad un DB sono:

    1) Manca il driver JDBC (non mi pare essere questo il tuo caso)
    2) La stringa di connessione non è corretta (errori di sintassi o nome del DB errato)
    3) Il server di MySQL non è attivo sulla macchina remota
    4) Il server di MySQL non possiede l'utente con cui si sta cercando di fare la connessione o la password è diversa
    5) Il server di MySQL non consente l'accesso da remoto a nessuno o, comunque, non a quell'utente
    6) Il server di MySQL è in ascolto su una porta diversa dallo standard e non specificata nella stringa di connessione
    7) C'è un firewall che blocca l'accesso alla macchina o alla porta 3306 / (altra porta, se diversa da standard).

    Chiaramente, se la tua applicazione uccide le eccezioni visualizzando solo messaggi "personalizzati" (del tipo "errore in connessione"), invece di stampare lo stackTrace, è dura capire quale sia il problema.

    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
    Non mi viene fuori probblemi sulla connessione il programma si connette con esito positivo con messaggio di ritorno connessione "effettuata con successo" il probblema e quando agisco sul pulsante "Salva dati nel database" che invece di salvare viene fuori "errore database non selezionato".Se solo indirizzo la connessione invece che da remoto a locale mi funziona giusto.E' un rompicapo questo e' possibile che ci siano cosi' troppi probblemi ora guardo meglio poi vi dico se riesco.Grazie per la cortese risposta.Saluti

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La stringa di connessione che usi mi sembra sbagliata.
    Evidentemente, nell'installazione locale hai un default DB, che nell'installazione da remoto non c'è.

    La stringa di connessione corretta è questa:

    codice:
    jdbc:mysql://nome_host/nome_db?user=utente&password=password_utente
    Quindi, l'indicazione del DB da usare deve essere riportata dopo il nome dell'host, separato dallo slash.


    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
    Si proprio quello era l'errore ho provato come mi hai detto e ha' funzionato al primo colpo grazie mille non so' come ringraziarvi pultroppo quello che avevo scritto prima era sbagliato perche l'ho ricopiato da un'altro sito in inglese e ho interpretato male grazie 1000.Saluti

  6. #6
    Ciao sono sempre io ora che ho risolto questo probblema sono di fronte ad uno ancora piu' grande:

    Tutti sappiamo che per fare la connessione ad un database c'e bisogno del connettore java ma se io ho sviluppato un'applett web in java e pertanto si avvia cliccando sopra un file.html e' possibile inserire la classe connettore nell'applett web in maniera che si connetti al database?

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da massimo77mr
    Ciao sono sempre io ora che ho risolto questo probblema sono di fronte ad uno ancora piu' grande:

    Tutti sappiamo che per fare la connessione ad un database c'e bisogno del connettore java ma se io ho sviluppato un'applett web in java e pertanto si avvia cliccando sopra un file.html e' possibile inserire la classe connettore nell'applett web in maniera che si connetti al database?
    Certamente, è sufficiente che il Connector-J sia nel classpath con l'applet.

    Unica nota: se il server MySQL risiede sulla stessa macchina da cui l'applet viene scaricata (ovvero, il server MySQL è sulla stessa macchina che fa da server Web) non hai alcun problema ad effettuare la connessione. Diversamente dovrai firmare l'applet per i normali e noti motivi di sicurezza dovuti alla sandbox.


    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

  8. #8
    scusate per prima ho scritto una cosa sbagliata sara' perche era sera tardi ed ero un po stanco intendevo se il connettore java che e' un file .jar se si puo' inserire dentro il .jar del progetto per un unico file?

    un'altra cosa vorrei domandarvi:

    se io metto tutti i file e le certelle del progetto su un hosting tipo che ne so' "altervista" che supporta e ha' php e mysql e il mio e' un'applicazione web in java la pagina creata in html tipo:index.html che fara' riferimento alla cartella inserita funziona lostesso o no perchè supporta solo php?e si puo' poi dialogare con il mysql fornito dal server?

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.