Я пытаюсь загрузить файл данных, который находится на сервере unix в базу данных mysql, используя LOAD DATA INFILE - PullRequest
0 голосов
/ 03 мая 2020

ниже - мой код: Примечание: он не работает, говоря, что «доступ» запрещен, поскольку он ищет файл на сервере mysql вместо сервера, который я упоминал в коде

    Connection con = DatabaseConnections.mysql_ts1_jdbc_url();
    JSch jsch = new JSch();
    Session session = jsch.getSession("username", "password", port);
    session.setConfig("StrictHostKeyChecking", "no");
    session.setPassword(password);
    session.connect();

    // Open the channel
    ChannelSftp sftpChannel1 = (ChannelSftp) session.openChannel("sftp");
    sftpChannel1.connect();
    sftpChannel1.cd("location where the file is presented");
    System.out.println("into the location");


String Parsefilepath="filelocation/filename.dat";
    String sParseTablName="tablename";

    String loadQuery = "LOAD DATA INFILE '" + Parsefilepath + "' INTO TABLE " + sParseTablName + " FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n'";
    Statement stmt = con.createStatement();
    ResultSet rs1 = stmt.executeQuery(loadQuery);

    sftpChannel1.disconnect();
    session.disconnect();
...