Estou com uma duvida é a seguinte, tenho alguns campos no SQL Server 2008 que sao strings e devo retirar os dados desses campos e inserir em outra tabel, o que ocorre que esta outra tabela os campos sao numericos, teria algum jeito de converter string para numerico no java??? se tiver como poderia fazer? Agradeco desde ja a ajuda!
Estou com uma duvida é a seguinte, tenho alguns campos no SQL Server 2008 que sao strings e devo retirar os dados desses campos e inserir em outra tabel, o que ocorre que esta outra tabela os campos sao numericos, teria algum jeito de converter string para numerico no java??? se tiver como poderia fazer? Agradeco desde ja a ajuda![/quote]
Bom dia.
int numeroIntiro = Integer.parseInt(String seu valor);
double numDouble = Double.parseDouble(String seu valor);
se é no mesmo servidor, melhor fazer isso com uma consulta sql. De qualquer forma, como é SQL Server, já olhou DTS ou, no caso do 2008, Import and Export data tool?
Vamos ao problema, estou restirando esses dados da tabela cujos campos sao decimais, inteiros e strings, porem tenho um programa em java que converte todos esses campos para string para que possam ser postos em um arquivo .csv e posteriormente estes dados que estao no arquivo .csv sejam transferifos para outra tabela, porem ae comeca o meu problema, como sao todos strings, essa nova tabela nao vai aceitar logico pois la tenho campos numericos. a questao que quero resolver eh como transforma los para que sejam aceitos nessa nova tabela teria que usar algo como um float.parsefloat(“campo tabela”) ??? Obrigado!
Pelo que entendi você quer migrar os dados de uma tabela para outra, mas não entendi se as tabelas são na mesma base de dados ou se são em bases de dados distintas.
Segue minhas sugestões:
Se ambas as tabelas são na mesma base de dados, você pode fazer algo assim que vai ser bem mais prático e rápido:
insert into tabela2 (campos)
select
campo1,
campo2,
convert(DATETIME, campo3, 103) (etc...)
from tabela1
Se é entre bases de dados distintas, estuda DTS, Import/Export data wizard tool (ambos vem junto com o SQL server), Kettle Pentaho data integrator (freeware), power center (pago, mas ferramenta líder em ETL), etc… Não tem porque reinventar a roda.
Agora se é somente para aprender a programar em java, pode usar a Classe Scanner para ler o arquivo, para converter em Integer usar o Integer.parseInt(), para double, o Double.parseDouble(), para datas o SimpleDateFormat, etc…
sua questao 2 acerta com o que eu quero, estou utilizando uma ferramenta ETL, e estou migrando dados de uma banco x para um banco Y , porem da o erro ja citado por mim acima…
Uso bastante o Kettle Pentaho Data Integrator, e nele você pode usar Steps para fazer a conversão dos campos. Se me lembro bem, DTS também permite. Power Center nunca usei, mas ouvi dizer que ele é muito parecido com o Kettle.
Não estou com nenhum Kettle aqui, mas se me lembro bem você pode usar o step Value Mapping para converter valores e fazer tratamento de erro.