Visualizzazione dei risultati da 1 a 10 su 21

Discussione: Dump MySql con java

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Ho appena verificato che scrivendo correttamente la query da cmd.exe essa funziona ma mi esce il seguente messaggio:
    Warning using a password on the command line interface can be insecure.
    Naturalmente la stessa query da java non funziona!!
    codice:
    public static synchronized boolean backupDB(String filename) {
     
            String curdir=System.getProperty("user.dir");
            String [] executeCmd = {"mysqldump ","-u".concat(user)," -p".concat(password)," -B customers > ".concat(filename+".sql")};
            Process runtimeProcess;
            try {
                runtimeProcess = Runtime.getRuntime().exec(executeCmd);
                
                // int processComplete = runtimeProcess.waitFor();
                /* System.out.println(executeCmd);
                if (processComplete == 0) {
                System.out.println("Backup created successfully");
                return true;
                } else {
                System.out.println("Could not create the backup");
                }
                } catch (Exception ex) {
                ex.printStackTrace();
                }*/
            } catch (IOException ex) {
                Logger.getLogger(GestoreClienti.class.getName()).log(Level.SEVERE, null, ex);
            }
     
            return false;
        }
    Ultima modifica di linux_r; 18-02-2014 a 13:09

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Ho appena verificato che scrivendo correttamente la query da cmd.exe essa funziona ma mi esce il seguente messaggio:
    Warning using a password on the command line interface can be insecure.
    Naturalmente la stessa query da java non funziona!!
    esplicita il "non funziona", hai un errore? resta appeso? cosa? non trova il comando?
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    ti ripeto da cmd da solo quel warning e funziona ovvero crea il file sql, mentre da java non succede nulla praticamente penso che resta appeso, ma non posso saperlo perchè sulla consolle non si sollevano ne eccezioni ne altro , inoltre se noti, ho commentato la waitfor() perchè il proogramma si bloccava !! in attesa che il processo runtime ritornasse!

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

    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Warning using a password on the command line interface can be insecure.
    1) Questo è dell' "output" che fa mysqldump, credo su stderr (ma verifica redirezionando). Quindi per evitare "grane" da Java, è bene leggerlo.

    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Naturalmente la stessa query da java non funziona!!
    codice:
            String [] executeCmd = {"mysqldump ","-u".concat(user)," -p".concat(password)," -B customers > ".concat(filename+".sql")};
    2) Se usi l'array di stringhe, non c'è bisogno di mettere spazi es. " -p". Il exec li tratta già come "parametri" separati.

    3) Fai una redirezione: -B customers >
    La shell è in grado di "capire" i simboli < > ecc....
    exec() non invoca la shell di per sé (la puoi invocare espressamente tu). Qui exec sta avviando direttamente mysqldump ed esso non è sicuramente in grado di capire il '>'.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    quindi come dovrei correggere ?

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