Java:LOAD DATA LOCAL INFILE未执行

时间:2016-05-08 01:35:59

标签: java mysql

所以我正在寻找一种方法,使用java桌面应用程序将.txt文件中的数据导入到我的mysql表中,我编写了这些代码行,但是当我运行程序时,我可以看到Jform和第一个按钮正常工作,但是当我按下第二个按钮时,没有任何反应。我应该改变什么?

  private void ouvrirActionPerformed(java.awt.event.ActionEvent evt) {                                       
            // TODO add your handling code here:
            JFileChooser chooser = new JFileChooser();
            chooser.showOpenDialog(null);
            File f=chooser.getSelectedFile();
            filename=f.getAbsolutePath();
            chemin.setText(filename);
        }                                      

    private void chargerActionPerformed(java.awt.event.ActionEvent evt) {                                        


               String tablename = "tmp";

            try{

            stm=maConnexion.ObtenirConnexion().createStatement();
            stm.executeUpdate("LOAD DATA LOCAL INFILE \"" + filename + "\" INTO TABLE " + tablename);
            JOptionPane.showMessageDialog(null,"Fichier trace chargé avec succés");

        }
        catch(SQLException ex){
            System.err.println(ex);

        }

1 个答案:

答案 0 :(得分:0)

为了澄清您的情况,您可以在mysql控制台中运行该命令。如果成功,那么您可以在代码中尝试。

首先尝试,

LOAD DATA LOCAL INFILE '/tmp/foo.txt' 
INTO TABLE tmp;

第二次尝试,

LOAD DATA LOCAL INFILE '/tmp/foo.txt' 
INTO TABLE tmp COLUMNS TERMINATED BY '\t';

第三次尝试,

LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE tmp
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';

第四次尝试,

LOAD DATA LOCAL 
    INFILE '/tmp/mydata.txt' INTO TABLE tmp
    COLUMNS TERMINATED BY '\t'  ## This should be your delimiter
    OPTIONALLY ENCLOSED BY '"'; ## ...and if text is enclosed, specify here

从完美运行的那些开始,您可以实现您的代码。

更多信息, 您可以浏览MySQL manual

资源链接:

LOAD DATA INFILE Syntax