Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515

    esportare jdbc mysql in jar

    ciao a tutti!!

    fin'ora ho fatto delle prove con la connessione al mysql tramite questo cod:

    codice:
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","root", "root");
    fino quì tutto ok!!

    ora se volessi creare un jar ed inserire nel jar il database come faccio??

    ho provato ad esportare il database con il nome "mydb.sql" nella cartella "src/resource/"

    ho provato a fare una connessione al "mydb.sql" in questo modo:
    codice:
    conn = DriverManager.getConnection("jdbc:mysql://resource/mydb","root", "root");
    ma niente!!!

    praticamente la mia intenzione è quella di esportare il database mysql nel jar in modo tale da poterlo utilizzare in qualsiasi computer...

    spero di essere stato chiaro...

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da paul78 Visualizza il messaggio
    ho provato a fare una connessione al "mydb.sql" in questo modo:
    Mi spiace ma dire "fare una connessione al mydb.sql" non ha assolutamente senso. Quello è solo un normale file, un semplice script con istruzioni SQL. Non è "il DB". Non ti "connetti" ad un file SQL! Quindi sei completamente sulla strada sbagliata.

    Se vuoi incorporare uno script SQL dentro un jar, puoi certamente farlo ... come qualunque altra risorsa possibile (es. immagini, suoni, ecc...). Lo script lo puoi leggere dal jar ed eventualmente passarlo al DBMS, che nel tuo caso è MySQL, ma il MySQL deve già essere installato nella macchina ed essere ovviamente in esecuzione.

    Poi bisogna vedere cosa contiene lo script, se parte es. dalla creazione del database con un "CREATE DATABASE xyz" e poi tutto il resto (tabelle, dati iniziali, ecc...).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    quindi se dovessi aprire l'applicazione "JAR" in un computer senza un "DBMS" non funzionerebbe giusto?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da paul78 Visualizza il messaggio
    quindi se dovessi aprire l'applicazione "JAR" in un computer senza un "DBMS" non funzionerebbe giusto?
    Esatto. Il MySQL deve essere installato e configurato nella macchina. E se hai un tuo script SQL con le istruzioni SQL per creare DB, tabelle e quant'altro (con magari dei dati iniziali) per la tua applicazione, devi eseguirlo su MySQL una-tantum per impostare il tutto. Allora poi la tua applicazione può connettersi ed usare il DB.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di paul78
    Registrato dal
    Apr 2010
    Messaggi
    515
    io vorrei creare un'applicazione "JAR" con db incluso....

    cosa mi consigli sqlite o derby?

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Specifica meglio "con db incluso". Vuoi che il DB stia dentro il JAR: non si può fare (per ovvie ragioni, se sai cos'è un JAR e cos'è un DB).
    Vuoi che il DBMS possa "viaggiare" assieme all'applicazione? Allora puoi sfruttare Derby, che è cross-platform oppure un DB file-based (tipo un file di Access).
    SQLite non l'ho mai usato, quindi non ti so dire molto di più.


    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

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da paul78 Visualizza il messaggio
    io vorrei creare un'applicazione "JAR" con db incluso....
    cosa mi consigli sqlite o derby?
    LeleFT ti ha già fornito indicazioni utili. Io ne aggiungo altre spero altrettanto utili: innanzitutto di database "embeddable" cioè incorporabili all'interno della applicazione ne esistono svariati. La caratteristica principale è che non sono client-server (possono anche esserlo eventualmente come opzione aggiuntiva) ma il punto principale è che quando girano nel contesto della applicazione, di norma scrivono uno o pochi file che contengono tutto il database e in locazioni che puoi più facilmente controllare. Questo comunque ha anche svantaggi: solo un processo per volta tipicamente può accedere alla base dati.

    SQLite è principalmente per C/C++ ma c'è anche il driver JDBC disponibile se cerchi in rete. Invece altri come HSQLDB oppure Apache Derby/JavaDB (JavaDB è sostanzialmente la pacchettizzazione di Derby nel JDK) sono "pure" Java, ovvero fatti interamente in Java senza codice nativo del sistema.

    Se intendi passare da MySQL ad uno dei database embeddable, tieni presente che devi rivedere bene la tua base dati, le query e gli eventuali script che hai per creare la base dati.
    I database embeddable sono più "piccoli" e generalmente inferiori come caratteristiche rispetto a MySQL. Possono trattare tipi di dati differenti o con nomi differenti, la sintassi per creare db/tabelle/vincoli può essere differente e possono non gestire tutti i vincoli di integrità che ad esempio DB come MySQL o Oracle sono in grado di gestire. Quindi occhio ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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 © 2024 vBulletin Solutions, Inc. All rights reserved.