“线程中的异常”;“主要”;java.sql.SQLException:无法打开文件

“线程中的异常”;“主要”;java.sql.SQLException:无法打开文件,java,mysql,jdbc,Java,Mysql,Jdbc,如何解决此错误并进行加载数据查询以打开我的文件??? 我得到java.sql.SQLException:尝试从文件创建语句时无法打开文件。代码: public class LoadData { public static void main(String[] args) throws Exception { File file=new File("C://Users//suriyan.s//Documents//suriyan//employees.csv"); String

如何解决此错误并进行加载数据查询以打开我的文件???

我得到java.sql.SQLException:尝试从文件创建语句时无法打开文件。代码:

public class LoadData {

  public static void main(String[] args) throws Exception {

  File file=new File("C://Users//suriyan.s//Documents//suriyan//employees.csv");

  String filename = file.getAbsolutePath();

  System.out.println(filename);

  String tablename = "employee";

  Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/college", "root", "");


  // Load the data

  String qry = "LOAD DATA LOCAL INFILE '" + filename + "' INTO TABLE " + tablename + " FIELDS TERMINATED BY ','"
+ " LINES TERMINATED BY '\n';";

  Statement stmt = connection.createStatement();

  stmt.execute(qry);


  }
}
数据加载填充的类型:

在Windows上,将路径名中的反斜杠指定为正斜杠或双反斜杠

getAbsolutePath
正在返回单个反斜杠

异常应该包括MySQL解释的文件名

试试看(记住“\\”在Java中是一个反斜杠):

可能不是以root用户身份访问后出现的问题,但请检查:

非本地加载操作读取位于服务器上的文本文件。出于安全原因,此类操作要求您具有文件权限


问题可能是字符串查询“qry”。试着去掉分号;从字符串末尾开始。

您能打印出完整的查询并显示给我们吗?我猜某处有一个小的打字错误。看起来文件路径是用单引号括起来的。是的,这可能是一个问题,具体取决于驱动程序/DB。我认为MySQL是宽大的,但Oracle(很久以前)没有接受它。
String filename = file.getAbsolutePath().replace("\\", "/");
System.out.println("File: \"" + filename + "\"");  // just for debugging