Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Import csv con jdbc

  1. #1

    Import csv con jdbc

    Ciao a tutti,
    ho il seguente problema: devo utilizzare un'applicazione java che importa un file csv nel db mysql.
    La connessione funziona, soltanto che ottengo il seguente errore:
    "java.sql.SQLException: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement".

    Cercando in rete ho trovato che per risolvere il problema occorre inserire il file da importare dentro la cartella "Uploads" data dal percorso ottenuto con il comando SHOW VARIABLES LIKE "secure_file_priv";.
    Il file in questione si trova già in tale cartella, tant'è che se provo ad eseguire l'import con il seguente comando su db mysql:

    codice:
    LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/report.csv'INTO TABLE chiamate_report
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    IGNORE 1 ROWS
    (uniqueId,direction,@startTime,answerTime,endTime,callerId,gatewayId,gatewayName,callerNumber,status,waitingTime,conversationTime,operator,operatorExten,detailDestination,detailDestinationId,detailDestinationName,detailEnterTime,detailOpeningFlag,detailEnqueueTime,detailAnswerTime,detailOperator,detailOperatorExten,detailExitTime,detailExitCause,detailWaitingTime,detailWaitingTimeNoGreeting,detailNextHopType,detailNextHopId,eventOperator,operatorStartRingingTime,operatorEndRingingTime,operatorAnswerTime,operatorRingTime,operatorHangupTime,operatorTalkTime,operatorExitCause)
    
       SET startTime = str_to_date(@startTime, '%Y-%m-%d %H:%i:%s');


    l'import funziona correttamente.

    Di seguito il codice java per effettuare l'import del csv nel db:

    codice:
    package kalreport;
    
    import java.sql.Connection;
    import java.sql.Statement;
    
    
    public class ManipolazioneDB {
    	
    	public static void readCsv() {
    		
    		try {
    			
    			Connection conn = ConnessioneDB.getConnection();
    			
    			String loadQuery = "LOAD DATA INFILE ' " +
    							   "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/report.csv" +
    					           " ' INTO TABLE chiamate_report FIELDS TERMINATED BY ','" +
    							   " ENCLOSED BY '\"' LINES TERMINATED BY '\\n' IGNORE 1 ROWS" +
    					           " (uniqueId,direction,@startTime,answerTime,endTime,callerId,gatewayId,gatewayName,callerNumber,status,waitingTime,conversationTime,operator,operatorExten,detailDestination,detailDestinationId,detailDestinationName,detailEnterTime,detailOpeningFlag,detailEnqueueTime,detailAnswerTime,detailOperator,detailOperatorExten,detailExitTime,detailExitCause,detailWaitingTime,detailWaitingTimeNoGreeting,detailNextHopType,detailNextHopId,eventOperator,operatorStartRingingTime,operatorEndRingingTime,operatorAnswerTime,operatorRingTime,operatorHangupTime,operatorTalkTime,operatorExitCause)" +
    							   " SET startTime = str_to_date(@startTime, '%Y-%m-%d %H:%i:%s');";
    			
    			Statement st = conn.createStatement();
    			st.executeQuery(loadQuery);
    					
    	} catch (Exception e) {
    		System.out.println("Errore caricamento file");
    		e.printStackTrace();
    	}
    		
    	}
    
    
    }


    Potreste aiutarmi?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    immagino tu abbia consultato stackoverflow (è il primo risultato cercando su google): hai provato una delle soluzioni consigliate/suggerite lì? [
    codice:
    LOAD LOCAL DATA INFILE ...
    Più sotto, un altro lamenta problemi di discrepanza di slash tra come è scritto il percorso nel file my.ini e quello che effettivamente il dump delle variabili riporta
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Quote Originariamente inviata da Andrea1979 Visualizza il messaggio
    immagino tu abbia consultato stackoverflow (è il primo risultato cercando su google): hai provato una delle soluzioni consigliate/suggerite lì? [
    codice:
    LOAD LOCAL DATA INFILE ...
    Più sotto, un altro lamenta problemi di discrepanza di slash tra come è scritto il percorso nel file my.ini e quello che effettivamente il dump delle variabili riporta

    Ciao,
    fortunatamente sono riuscito a risolvere il problema.
    Grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Quote Originariamente inviata da Andreawave Visualizza il messaggio
    Ciao,
    fortunatamente sono riuscito a risolvere il problema.
    Grazie.
    Argomenta la tua soluzione: potrebbe tornare utile a qualcuno in futuro.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.