如何在mysql JDBC中启用“加载数据本地infile”?

时间:2015-04-13 18:50:59

标签: java mysql jdbc

我正在尝试使用JDBC通过Java程序将数据加载到表中。 我已经完成了这些步骤:

  

sudo nano /etc/mysql/my.cnf

然后添加:

  

[mysqld] local-infile = ON

     

[mysql] local-infile = ON

运行此程序:

  

代码:

Statement statement = con.createStatement();String sql="Create table tbl_user_analysis (Country varchar(10),State Varchar(20))";
statement.executeUpdate("drop table tbl_user_analysis");
statement.executeUpdate(sql);
statement.executeUpdate("load data local infile /home/Asus/workspace/example/xyz into table tbl_user_analysis fields terminated by '\\t' ");

但我得到了这个例外:

  

线程中的异常" main"   com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:你有一个   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本为正确的语法使用附近   ' / home / Asus / workspace / example / xyz into table   tbl_user_analysi'在第1行   sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)     在   sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)     在   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)     在com.mysql.jdbc.Util.handleNewInstance(Util.java:411)at   com.mysql.jdbc.Util.getInstance(Util.java:386)at   com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)at at   com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)at at   com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)at at   com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2503)at at   com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2664)at at   com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2788)at   com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1816)     在   com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1730)     在example1.example.main(example.java:281)

0 个答案:

没有答案