Problemas com arquivos!

4 respostas
ncm

Bem, é o seguinte:

Eu tenho uma classe que gera uma string a qual é uma query no formato abaixo:

INSERT INTO <tabela> VALUES(<valor1>, <valor2>, …, <valorN>);

e essas querys são inseridas no arquivo, uma string por linha.

O problema é que também tenho uma classe que lê o arquivo e faz com que a query rode no Banco de Dados.

Bem, está tudo funcionando corretamente, exceto que:

1_ tem query que se divide em várias linhas, por algum motivo que não conheço. Ex.:

INSERT INTO Clientes VALUES(1,‘121’, ‘rua aug
usta’, null, 1432);

Creio que seja caractere de quebra de linha, mas não sei resolver.

2_ Por essas querys não serem em uma única linha,
não consiguo inderir no banco e no momento do commit, por elas gerarem exception, nehuma das outras querys certas são gravadas.

Espero que alguém possa me ajudar.

Desde já agradeço…

4 Respostas

jessetsilva

este arquivo no diso esta em que formato? txt?

Uma pergunta bem boba : o usuario colcoar as querys no arquivoe o sistema apenas as lê, ou tem alguma outra finaldiade pra elas estarem no arquivo?

ncm

Olha, é uma arquivo sem extensão, e só serve para guardar as querys temporariamente mesmo.
Mais ou menos assim:


BD <<---->> Sistema <<---->> Arquivo


Quem lê e cria o arquivo é o próprio sistema.

Focao

acredito que vc vai ter que prever isses casos…

tipo se não começar com INSERT
ou se não terminar com ;

linha inválida…

ou gera uma lista só com os válidos dando um split(linha, “;”);

o editor não está limitado a 80 linhas ?

tem como da um trim ?

tem várias hipóteses manda algum fonte aí…

Pedrosa

Cara de uma olhada nesse framework IBATIS ele guarda as querys em arquivos xmls e resolve uma seria de outros problemas como querys dinamicas, cache, reusabilidade etç;

Existe esse manual:
http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/en/iBATIS-SqlMaps-2-Tutorial_en.pdf

E tem uma matéria muito legal na Mundo Java desse mes, vale a pena conferir!

Criado 18 de novembro de 2008
Ultima resposta 18 de nov. de 2008
Respostas 4
Participantes 4