Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Database Derby

  1. #1

    Database Derby

    Salve,

    Io ho un applicazione che lavora attraverso il framework hibernate su un database derby, è possibile fare in modo che altre applicazioni sempre attraverso hibernate lavorino sullo stesso database ?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Database Derby

    Originariamente inviato da tritrillidan
    Io ho un applicazione che lavora attraverso il framework hibernate su un database derby, è possibile fare in modo che altre applicazioni sempre attraverso hibernate lavorino sullo stesso database ?
    Il problema/questione non è tanto di Hibernate (che è solo uno "strato" software di mappatura). Il vero problema è cosa c'è "sotto", ovvero quale motore di database viene usato.

    La documentazione di Derby per i database "embedded" dice, riporto pari pari:

    Derby supports multiple connections to a given database. An example of an embedded application that manages concurrent users is a Tomcat or Geronimo application server that embeds Derby. Any number of users can execute Web applications that access a database through that Web server.

    However, only one JVM may boot ("open") that database, so multiple applications running in different JVMs cannot access the same database.

    Quindi per la tua domanda: no, in questo caso applicazioni differenti (nemmeno la stessa applicazione che "gira" in due JVM distinte) non possono usare lo stesso database embedded contemporaneamente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    si hai perfettamente ragione, infatti mentre aspettavo una risposta avevo letto quella documentazione e anche quella parte che hai citato tu.
    Continuando nella lettura però ho trovato anche un'altra cosa , ovvero è possibile far si che applicazioni diverse accedano ad un dB se usano in client network di derby per collegarsi al networkServer di derby.
    Però ho provato a seguire il tutorial mostrato nella documentazione senza riuscire ad ottenere risultati utili.

    prima di tutto nell'esempio si fà riferimento all'installazione di Derby, che io non ho installato ma ho trovato installato in + path dalle varie versioni di netbeans che ho installato.
    Nonostante questa incertezza sono andato avanti lavorando sulla cartella di derby cui fà riferimento il mio netbeans ma anche dopo aver avviato il server non riesco a far collegare le app al Server e quindi al DB.

    mi sono sorti alcuni interrogativi. nella documentazione si fà riferimento al client attraverso il quela dovrebbero collegarsi le applicazioni ma essenzialmente come faccio a far collegare un'applicazione preconfigurata in un WAR con il client di derby?

    Secondo, il db dovrebbe essere creato dal'applicazione, quindi in qst caso questa forma di bridging attraverso il network cient di derby è ancora funzionale ?

    Grazie per eventuali risposte

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da tritrillidan
    Continuando nella lettura però ho trovato anche un'altra cosa , ovvero è possibile far si che applicazioni diverse accedano ad un dB se usano in client network di derby per collegarsi al networkServer di derby.
    Sì, oltre che come database "embedded", Derby può funzionare nella modalità classica client/server (come altri DBMS del calibro di MySQL e altri). Ovvero c'è un server in ascolto (su una porta) e i vari client si connettono.

    Se guardi la documentazione "Getting Started with Derby" in particolare le sezioni:

    Activity 3: Run a JDBC program using the embedded driver
    e
    Activity 4: Create and run a JDBC program using the client driver and Network Server

    Vedrai bene le differenze, che alla fin fine riguardano principalmente la classe del driver e l'URL di connessione.

    String driver = "org.apache.derby.jdbc.EmbeddedDriver";
    String connectionURL = "jdbc:derby:nome_del_db;create=true";

    oppure

    String driver = "org.apache.derby.jdbc.ClientDriver";
    String connectionURL = "jdbc:derby://localhost:1527/nome_del_db;create=true";
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    grazie ho capito cosa sbagliavo ... non avevo impostato correttamente il driver grazie ancora

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.