Visualizzazione dei risultati da 1 a 10 su 10

Discussione: java + mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    23

    java + mysql

    salve a tutti.
    ora vi pongo una domanda che per voi sarà sciocca, ma ci sto pensando ormai da troppo tempo e mi sto vergognad assia.

    Ho appena realizzato un progetto per la mia tesi che appoggia su un database, ma da stupido che sonom non ho pensato che il database è nella mia cartella c e non nella sottocartella del progetto.
    Ora devo risolvere questo problema, in modo da avere il percorso del database in una sottocartella del progetto e quindi poter applicare la proprietà di portibilità del progetto; quindi se spedisco al mio relatore il progetto deve funzionare.

    Spero si essermi chiarito.

    Ciao

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

    Re: java + mysql

    Originariamente inviato da duff84
    salve a tutti.
    ora vi pongo una domanda che per voi sarà sciocca, ma ci sto pensando ormai da troppo tempo e mi sto vergognad assia.

    Ho appena realizzato un progetto per la mia tesi che appoggia su un database, ma da stupido che sonom non ho pensato che il database è nella mia cartella c e non nella sottocartella del progetto.
    Ora devo risolvere questo problema, in modo da avere il percorso del database in una sottocartella del progetto e quindi poter applicare la proprietà di portibilità del progetto; quindi se spedisco al mio relatore il progetto deve funzionare.

    Spero si essermi chiarito.

    Ciao
    Se credi di spedire anche tutto il DB MySQL al tuo prof, è meglio che ti fermi subito.

    MySQL è un'applicazione a se stante, indipendente da Java, che non può essere "inclusa" all'interno di un progetto Java.

    Quindi: dove va la tua applicazione, deve trovare un DBMS MySQL (un server MySQL, per la precisione) già installato e pronto all'uso.

    Quello che puoi fare tu è parametrizzare l'applicazione in modo da permettere all'utilizzatore finale di scegliere il percorso dove è presente il server MySQL. La tua applicazione si connetterà, quindi, con il server che l'utente decide di fargli utilizzare.

    Da notare che, se tu ne avessi la possibilità, potresti installare MySQL in un server di rete pubblico e far puntare la tua applicazione verso quel server, in modo che sia raggiungibile da ogni parte del mondo, purchè connessa ad internet. Ma solo un pazzo lo farebbe (con tutti i problemi di sicurezza che ci sono dietro).


    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
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    23
    stando a quanto mi hai consigliato ho pensato ad una procedura per parametrizzare il tutto.

    Io, come detto uso MySQL e fino ad ora ho sempre creando le tabelle a mano, cioè dalla shell di mysql perchè davo per scontato il fatto che si poteva crearle acnhe da java; infatti tutte le operazioni di inserimento modifica ecc... effettivamente le ho sempre fatte, come giusto che sia, all'interno del mio progetto.

    Ritornando alla procedura sopracitata, ho provato appunto a creare un nuovo Database e, in un database già esistente, a creare singole tabelle; ma l'errore è quello di no poter accedere creare il database e di non poter accedere ad esso per la creazione delle tabelle :"java.sql.SQLEception: CREATE command denied to user 'loris@localhost' ....."

    la mia password è loris.

    Non riesco a capire, ho provato ad assegnare eventuali permessi ma anche quelli stesso errore.
    Non riesco proprio a capire perchè tutte le altre operazioni riseco ad eseguirle.

    Il codice del programma è esatto; ne sono sicuro perchè sono abb a mio agio con java.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Quell'errore sta ad indicare che l'utente che utilizzi "loris" non ha sufficienti credenziali per poter effettuare l'operazione "CREATE TABLE" sul DB selezionato, dalla macchina "localhost".

    Per poter effettuare tali operazioni è necessario utilizzare un utente che abbia sufficienti diritti. L'assegnazione dei diritti può anche essere fatta (sempre da un utente abilitato, come root) utilizzando i comandi GRANT (dai un'occhiata alla documentazione di MySQL per la sintassi di tale istruzione).

    La cosa più semplice è creare un utente che abbia gli stessi privilegi di ROOT, quindi utilizzare quell'utente per le operazioni sul DB.


    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
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    106
    Io ho avuto lo stesso problema! Per risolverlo ho agito in questo modo (anche se non è del tutto corretto):

    Al primo avvio il programma controlla il contenuto di un file:
    - se il file è vuoto, allora non ci sono le credenziali di accesso a mysql;
    - se il file è pieno, ho login,pwd,nome db e url db per accedervi.

    Nel primo caso (file vuoto), parte una procedura che chiede all'utente di inserire nome db, url db, login e eventuale password (io ad esempio non ho la pwd a mysql). Quando l'utente inserisce i dati, provo ad accedere a mysql. Se riesco ad accedervi, allora i dati sono corretti, altrimenti no. Se sono corretti li memorizzo nel file, e agli avvii successivi utilizzero' quei dati per accedere al db.

    Capisco che non è una soluzione efficacissima, pero' puo' essere una idea.

    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    23
    vi ringrazio tantissimo.

    ora provo attentamente

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    23
    ok risolto.

    ora mi è sorto un ultimo dubbio...

    se il mio progetto viene usato su un host senza la piattaforma mysql non andrà... come posso capire se in quell'host non c'è la suddetta piatatforma e quindi informare l'utente di questa mancanza??

    vi ringrazio ancora

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Se la connessione con il DB non riesce è probabile che il server MySQL non sia presente o non sia stato attivato... è anche possibile che, semplicemente, non esista il DB specificato, ma non hai modo di sapere con certezza quale delle 3 cause abbia sollevato l'eccezione.

    Generalmente si avvisa l'utente del problema e si elencano le possibili cause.


    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

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    23
    ciao a tutti sono di nuovo tornato!! (tra lavoro e uni non ci sto più dietro )

    vi chiedo un ultima cosa e poi finalmente posso finire sta torutra di università!

    ps. prima di incominciare vi ringrazio per tutti i suggerimenti che mi avete dato.

    st mattina il mio prof mi ha controllato il progetto e mi ha detto che è tutto ok ma devo modificare una cosetta:
    va solo su netbeans (il linguaggio è java)!!!!!!!!! (e che cavolo ne sapevo, nei vari corsi che ho frequentato negli anni passati nessuno me l'aveva insegnato)

    devo rendere il rpogetto distribuibile per tutti i vari programmi utilizzando una riga di comando di comando per lanciare l'eseguibile. (testuali parole del prof). IO non ho capito benissimo, io ho lavorato su windows lanciando solo da netbeans e quindi sono rimasto spiazzato.
    - Cioè devo creare un eseguibile che faccia tutto da solo????
    o cos'altro...

    spero che si sia capito cosa intendo...


    grazie in anticipo

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    23
    ora che ci penso mi è sorto un altro dubbio:

    io utilizzo un jar(per il collegamento ad un database) e l'ho inserito nella mia cartella dell'applicazione, ma quando il prof ha provato ad eseguire il prgetto da riga di comando ha dvuto chiamarlo esplicitamente perchè non lo trovava.

    per settare il percorso del sto file (mysql-connector-java-3.1.12-bin.jar) devo aprire il manifets ed aggiungere la riga
    Class-Path: mysql-connector-java-3.1.12-bin.jar

    o sto sbagliando????

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.