Mysql
 sql >> Base de données >  >> RDS >> Mysql

Un pilote JDBC prend-il en charge la commande sql LOAD DATA INFILE ?

Ce qui suit fonctionnera via JDBC. Notez que pour utiliser LOAD DATA INFILE vous avez besoin du privilège de superutilisateur. Ce dont vous n'avez pas besoin pour 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);

Si vous utilisez LOAD DATA INFILE l'emplacement du fichier est basé sur le système de fichiers du serveur ! Si vous utilisez un fichier local, il est évidemment basé sur le système de fichiers du client.