简体   繁体   English

使用Java将CSV文件加载到MySQL服务器

[英]Load CSV file to MySQL server using Java

I am struggling with loading a CSV file into a table in MySQL server. 我正在努力将CSV文件加载到MySQL服务器中的表中。 It gives me the working directory error, and I am guessing that 它给了我工作目录错误,我猜是

C://Users//SCSC//Desktop//district.csv

this is where I am typing in a wrong syntax. 这是我输入错误语法的地方。 I have tried double back slashes, forward slash, but none of them works. 我尝试过双反斜杠,正斜杠,但都没有用。

public void readCsvUsingLoad(Connection conn, String district) {
    try {
        String loadQuery = "LOAD DATA LOCAL INFILE 'C://Users//SCSC//Desktop//district.csv' INTO TABLE district FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (District_ID, A2, A3, A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16);";
        System.out.println(loadQuery);
        Statement stmt = conn.createStatement();
        stmt.execute(loadQuery);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Just to confirm, you are running your MySQL server on the same server as you're running Java, right? 只是为了确认一下,您正在将MySQL服务器与运行Java的服务器放在同一服务器上,对吗? MySQL loading only works if the file is on the DB server. 仅当文件位于数据库服务器上时,MySQL加载才有效。

If you want to load a csv file from your local system into a remote MySQL server, you'll need to parse the file and run the insert commands. 如果要将csv文件从本地系统加载到远程MySQL服务器,则需要解析该文件并运行insert命令。

You'll also need to make sure that the user running the MySQL server (mysql?) has read access to the directory containing the files. 您还需要确保运行MySQL服务器(mysql?)的用户对包含文件的目录具有读取权限。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM