Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

problem while loading data from excel to mysql

 
abid shaikh
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
my code
try{ Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/stock","root","root");
Statement st=con.createStatement();
String filename1="C:\\cm01MAR2002bhav.csv";

st.executeQuery("LOAD DATA INFILE '"+filename1+"' INTO TABLE stock.stockdata FIELDS TERMINATED BY ','LINES TERMINATED BY '\n'(SYMBOL,SERIES,OPEN,HIGH,LOW,CLOSE,LAST,PREVCLOSE,TOTTRDQTY,TOTTRDVAL,TIMESTAMP)");
}catch(Exception e){System.out.println(e);}


error
java.sql.SQLException: File 'C:\ProgramData\MySQL\MySQL Server 5.5\Data\stock\cm01MAR2002bhav.csv' not found (Errcode: 2)
 
Philip Grove
Ranch Hand
Posts: 68
Firefox Browser Java Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Your SQL statement is a "LOAD DATA INFILE" statement in which data is read from a text file by the server. If you want it to be read by the client it should be "LOAD DATA LOCAL INFILE". Using a server side statement like that requires a few things: the file must exists on the server and you need FILE privileges on the server. The client side statement is slower because it needs to send the data to the server but it does not require FILE privileges and the file only has to be on the client.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic