Fala galera blz, estou com um problema na hora de inserir a informação vindo de um txt
se puderem me ajudar agradeço e muito ja tentei de tudo
vou colocar o código e depois o erro
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package importtxt.com.br;
import ConnectionFactory.ConnectionFactory;
import java.beans.Statement;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import javax.swing.JOptionPane;
import persistenciadados.com.br.Dados;
/**
*
* @author E449045
* int produto_comercial;
int nrc;
int sistema;
int segmento;
String classe;
int terminal;
int localidade;
int cd_cliente;
int cd_conta;
int cd_pc;
String tp_prte;
int dt_ini_prqe;
int dt_fim_prqe;
int dt_ins_prqe;
int dt_ret_prqe;
int dh_prte;
String in_mgro_atis_in;
String in_mgro_atis_ac;
String in_mgro_atis_fa;
String in_mgro_atis_co;
*/
public class ImportTxt {
public static final int Xms256M = 0;
public static final int Xmx512M = 0;
public static String dt_ciclo;
public static int msg;
public static String dt_mes_ftra;
public static String dt_data;
public static String dt_corte;
//private final String dt_ciclo;
// private final String dt_mes_ftra;
// private final String dt_data;
// private final String dt_corte;
public ImportTxt() throws InterruptedException, FileNotFoundException, SQLException, IOException, ClassNotFoundException {
try {
System.out.println("Teste");
File file = new File("D:/publico/201107/PARQUE_CONTRATADO_" + dt_data + ".txt"); // o path do arquivo, ex.: "C:\Importacao.txt"
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
Connection con = new ConnectionFactory().getConnection();
java.sql.Statement stmt = con.createStatement();
List<Dados> listDados = new ArrayList<Dados>();
while (bufferedReader.ready()) {
String linha = bufferedReader.readLine(); // lê uma linha...
String[] arrayDados = linha.split("\t"); // separa os dados por seu delimitador...
Dados dd = new Dados();
dd.setPRODUTO_COMERCIAL(arrayDados[0]);
dd.setNRC(arrayDados[1]);
dd.setSISTEMA(arrayDados[2]);
dd.setDT_INI_PRQE(arrayDados[3]);
dd.setDT_FIM_PRQE(arrayDados[4]);
dd.setDT_INS_PRQE(arrayDados[5]);
dd.setDT_RET_PRQE(arrayDados[6]);
dd.setTERMINAL(arrayDados[7]);
dd.setLOCALIDADE(arrayDados[8]);
dd.setCLASSE(arrayDados[9]);
dd.setSTATUS_PC(arrayDados[10]);
dd.setMOTIVO_PC(arrayDados[11]);
dd.setCOD_CLI(arrayDados[12]);
dd.setCOD_CONTA(arrayDados[13]);
dd.setDT_ALT_CNTA(arrayDados[14]);
dd.setDT_BAI_CNTA(arrayDados[15]);
dd.setDT_INI_CNTA(arrayDados[16]);
dd.setDT_FIM_CNTA(arrayDados[17]);
dd.setSTATUS_CONTA(arrayDados[18]);
dd.setSTOP_FATURAMENTO(arrayDados[19]);
dd.setSEGMENTO(arrayDados[20]);
dd.setCICLO(arrayDados[21]);
listDados.add(dd);
String sql = "INSERT INTO TERADATA_201111.dbo.PQ_CTD_20111104(PRODUTO_COMERCIAL,NRC,SISTEMA,DT_INI_PRQE,DT_FIM_PRQE,DT_INS_PRQE,DT_RET_PRQE,TERMINAL,LOCALIDADE,CLASSE,STATUS_PC,MOTIVO_PC,COD_CLI,COD_CONTA,DT_ALT_CNTA,DT_BAI_CNTA,DT_INI_CNTA,DT_FIM_CNTA,STATUS_CONTA,STOP_FATURAMENTO,SEGMENTO,CICLO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, dd.getPRODUTO_COMERCIAL());
st.setString(2, dd.getNRC());
st.setString(3, dd.getSISTEMA());
st.setString(4, dd.getDT_INI_PRQE());
st.setString(5, dd.getDT_FIM_PRQE());
st.setString(6, dd.getDT_INS_PRQE());
st.setString(7, dd.getDT_RET_PRQE());
st.setString(8, dd.getTERMINAL());
st.setString(9, dd.getLOCALIDADE());
st.setString(10,dd.getCLASSE());
st.setString(11,dd.getSTATUS_PC());
st.setString(12,dd.getMOTIVO_PC());
st.setString(13,dd.getCOD_CLI());
st.setString(14,dd.getCOD_CONTA());
st.setString(15,dd.getDT_ALT_CNTA());
st.setString(16,dd.getDT_BAI_CNTA());
st.setString(17,dd.getDT_INI_CNTA());
st.setString(18,dd.getDT_FIM_CNTA());
st.setString(19, dd.getSTATUS_CONTA());
st.setString(20, dd.getSTOP_FATURAMENTO());
st.setString(21, dd.getSEGMENTO());
st.setString(22,dd.getCICLO());
/*
* [PRODUTO_COMERCIAL] [numeric](18, 0) NULL,
[NRC] [varchar](15) NULL,
[SISTEMA] [numeric](18, 0) NULL,
[DT_INI_PRQE] [numeric](18, 0) NULL,
[DT_FIM_PRQE] [numeric](18, 0) NULL,
[DT_INS_PRQE] [numeric](18, 0) NULL,
[DT_RET_PRQE] [numeric](18, 0) NULL,
[TERMINAL] [numeric](18, 0) NULL,
[LOCALIDADE] [numeric](18, 0) NULL,
[CLASSE] [varchar](7) NULL,
[STATUS_PC] [varchar](2) NULL,
[MOTIVO_PC] [varchar](4) NULL,
[COD_CLI] [numeric](18, 0) NULL,
[COD_CONTA] [numeric](18, 0) NULL,
[DT_ALT_CNTA] [numeric](18, 0) NULL,
[DT_BAI_CNTA] [numeric](18, 0) NULL,
[DT_INI_CNTA] [numeric](18, 0) NULL,
[DT_FIM_CNTA] [numeric](18, 0) NULL,
[STATUS_CONTA] [varchar](2) NULL,
[STOP_FATURAMENTO] [varchar](1) NULL,
[SEGMENTO] [smallint] NULL,
[CICLO] [smallint] NULL,
*/
System.out.println("Importando!");
st.execute();
st.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
private String indexOf(String pRODUTO_COMERCIAL) {
throw new UnsupportedOperationException("Not yet implemented");
}
}
erro!!!
dt_ciclo 04 Periodo 18
Teste
Conectando ao banco SQLServer
Importando!
java.sql.SQLException: Error converting data type nvarchar to numeric.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:628)
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:525)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:487)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.execute(JtdsPreparedStatement.java:475)
at importtxt.com.br.ImportTxt.<init>(ImportTxt.java:425)
at pqcontratado.PqContratado.main(PqContratado.java:45)