Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Algum driver JDBC suporta o comando SQL LOAD DATA INFILE?


O seguinte funcionará através do JDBC. Observe que para usar LOAD DATA INFILE você precisa de privilégios de superusuário. O que você não precisa para LOAD DATA LOCAL INFILE
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/foobar", "root", "password");
Statement stmt = con.createStatement();
String sql = 
    "load data infile 'c:/temp/some_data.txt' \n" +
    "   replace \n" +
    "   into table prd \n" +
    "   columns terminated by '\\t' \n" +
    "   ignore 1 lines";
stmt.execute(sql);

Se você usar LOAD DATA INFILE a localização do arquivo é baseada no sistema de arquivos do servidor! Se você usa um arquivo local, obviamente ele é baseado no sistema de arquivos do cliente.