Boa Tarde, sou novo no Fórum e também sou iniciantena linguagem JAVA…
estou com um problemão… a 4 dias estou buscando informações aqui mesmo no fórum e na internet, porém, não cheguei a lugar algum… tenho que transferir dados que estão contido em um arquivo .log (no caso txt) para uma tabela de um banco de dados MySQL, já li bastante e também olhei tanto aqui no no fórum como também na internet num todo.
Ja consigo abrir o arquvo, tentei várias vezes gravar no bancop de dados e sempre as informações gravadas eram NULL… toquei e então consegui algo, porém, ele lê a primeira linha e da erro, alguém pode me dar uma ajuda de como posso terminar esse código?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ler.gravar;
import java.io.*;
import java.sql.*;
import java.util.*;
public class TxtToData {
private static final String DB = "msgas",
TABLE_NAME = "med2",
HOST = "jdbc:mysql://localhost/msgas",
ACCOUNT = "root",
PASSWORD = "",
DRIVER = "com.mysql.jdbc.Driver",
FILENAME = "C:/teste.log";
public static void main (String[] args) {
try {
// connect to db
Properties props = new Properties();
props.setProperty("user", ACCOUNT);
props.setProperty("password", PASSWORD);
Class.forName(DRIVER).newInstance();
Connection con = DriverManager.getConnection(
HOST, props);
Statement stmt = con.createStatement();
// open text file
BufferedReader in = new BufferedReader(
new FileReader(FILENAME));
// read and parse a line
String line = in.readLine();
while(line != null) {
System.out.println(line);
StringTokenizer tk = new StringTokenizer(line);
String primeira = tk.nextToken(),
segunda = tk.nextToken();
// execute SQL insert statement
String query = "INSERT INTO " + TABLE_NAME;
query += " VALUES(NULL, ";
query += quote(primeira) + ", ";
query += quote(segunda) + ", ";
stmt.executeQuery(query);
// prepare to process next line
line = in.readLine();
}
in.close();
}
catch( Exception e) {
e.printStackTrace();
}
}
// protect data with quotes
private static String quote(String include) {
return("\"" + include + "\"");
}
}
- O erro que ele da é o seguinte:
init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\lio.easynet\Desktop\importante\teste\JavaApplication12\build\classes
compile-single:
run-single:
Tag M01 - Tramo A
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.Statement.checkForDml(Statement.java:412)
at com.mysql.jdbc.Statement.executeQuery(Statement.java:1115)
at ler.gravar.TxtToData.main(TxtToData.java:53)
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)
Tentei algumas variações, mas a que mais achei interessante foi essa, pois copiei o código e o alterei para o que precisava, ai no erro peço ao código pra mostrar as linhas que estão sendo executadas, ele mostra a primeira e então da o erro… queria por gentileza que alguém pudesse me ajudar.
No mais, agradeço desde ja.