Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Unterstützt irgendein JDBC-Treiber den SQL-Befehl LOAD DATA INFILE?

Folgendes funktioniert über JDBC. Beachten Sie, dass Sie LOAD DATA INFILE verwenden müssen Sie benötigen Superuser-Rechte. Was Sie für LOAD DATA LOCAL INFILE nicht benötigen

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);

Wenn Sie LOAD DATA INFILE verwenden der Dateispeicherort basiert auf dem Dateisystem des Servers! Wenn Sie eine lokale Datei verwenden, basiert diese offensichtlich auf dem Dateisystem des Clients.