SQLite creare DB come Amministratore

di il
4 risposte

SQLite creare DB come Amministratore

Ciao a tutti ragazzi,
ritorno a scrivere sul Forum per chiedere il vostro aiuto.

Ho creato un'APP desktop che utilizza come DB "SQLite". Il database viene creato la prima volta quando viene lanciato il JAR nel PATH:

System.getProperty("user.dir") + File.separator + archivio.sqlite;
Supponiamo che il mio PC abbia 2 utenti.
1 - folletto_folle
2 - Administrator

Copio il JAR in C (che ha come proprietario Administrator) e ovviamente mi viene chiesta la PWD di amministratore. A questo punto, quando lancio l'APP, il file non può essere creato perchè non ha l'accesso.

Ci sta un modo in JAVA per impostare la password e permettere così la creazione del file?
Grazie mille come sempre.

4 Risposte

  • Re: SQLite creare DB come Amministratore

    folletto_folle ha scritto:


    Ci sta un modo in JAVA per impostare la password e permettere così la creazione del file?
    Se vuoi che ciascun utente abbia il SUO database, basta mettere il file in una locazione "per user", ovvero (tipicamente) da qualche parte sotto la "home" dell'utente.
    Se vuoi che tutti gli utenti usino lo stesso database, va chiaramente messo in una locazione accessibile a tutti quanti senza questioni di privilegi (e questo vuol dire che sicuramente NON va messo direttamente in C:\ ).
  • Re: SQLite creare DB come Amministratore

    Il db deve essere diverso per tutti, però io non so l'utente dove andrà a mettere il jar.
    Supponiamo che io acceda al PC e ho l'utenza non admin e quella admin.
    Per sbaglio vado a mettere il JAR sotto C, riesco a copiarlo perchè ho la password amministrativa, però quando apro il JAR non riesco a creare il db.
    Ci sta un modo per far creare il db nella locazione "per user"? Tipo System.getProperty("user.name") o qualcosa del genere?
  • Re: SQLite creare DB come Amministratore

    folletto_folle ha scritto:


    Il db deve essere diverso per tutti, però io non so l'utente dove andrà a mettere il jar.
    Non lo devi "sapere" ... il percorso della "home" dell'utente lo si rintraccia da una system-property Java apposita, "user.home" (User's home directory).
    E sotto la "home" è molto tipico avere innanzitutto una directory .nomedellaapp (col punto davanti per ragioni storiche dagli Unix/Linux), poi lì sotto cosa si vuole per l'app.

    folletto_folle ha scritto:


    Per sbaglio vado a mettere il JAR sotto C, riesco a copiarlo perchè ho la password amministrativa, però quando apro il JAR non riesco a creare il db.
    Dove sta il jar non è molto importante .... potrebbe anche stare in una locazione "privilegiata" così che gli utenti non possano toccarlo/danneggiarlo, perché magari l'ha "installato" una tantum un amministratore.
  • Re: SQLite creare DB come Amministratore

    Grazie mille andbin,
    con user.home era proprio quello che mi serviva ho fatto le prove e funziona benissimo...grazie mille . (dovrebbe funzionare pure per linux vero)???
Devi accedere o registrarti per scrivere nel forum
4 risposte