【问题标题】:Load CSV file to MySQL server using Java使用 Java 将 CSV 文件加载到 MySQL 服务器
【发布时间】:2017-03-13 17:36:15
【问题描述】:

我正在努力将 CSV 文件加载到 MySQL 服务器的表中。它给了我工作目录错误,我猜是

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

这是我输入错误语法的地方。我尝试过双反斜杠、正斜杠,但它们都不起作用。

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

【问题讨论】:

  • 你能分享你得到的错误吗?

标签: java mysql csv


【解决方案1】:

只是为了确认一下,您在运行 Java 的服务器上运行 MySQL 服务器,对吗?仅当文件位于数据库服务器上时,MySQL 加载才有效。

如果您想从本地系统加载一个 csv 文件到远程 MySQL 服务器,您需要解析该文件并运行插入命令。

您还需要确保运行 MySQL 服务器 (mysql?) 的用户对包含文件的目录具有读取权限。

【讨论】:

  • 我在与 Java 相同的服务器上运行 MySQL。当我在 MySQL 中运行 loadQuery 语句时,它可以成功加载 csv 文件。但是我在 java 中运行相同的语句时遇到了麻烦。
  • 当我第一次尝试在 MySQL 中运行 loadQuery 语句时,我遇到了相同的工作目录错误。所以我将 csv 文件的位置移动到我的桌面,尝试加载 csv 文件,然后它工作了。 java可能是同样的问题吗?如果是这样,我应该将我正在处理的 .java 文件移动到桌面吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 2017-11-16
  • 2021-11-20
  • 2015-06-08
  • 2022-11-08
  • 1970-01-01
  • 2014-03-10
相关资源
最近更新 更多