TXT para SQL SERVER

11 respostas
L

Boa tarde. Gostaria de saber como fazer para importar de um txt para um banco SQL SERVER tag a tag.

11 Respostas

Ironlynx

leonardo, não entendi o “tag a tag”?Seria campo-a-campo o que vc quer dizer?

L

Isso , tipo assim , se a linha tiver alguma informação coloca no banco , dentro da tabela se não tiver na linha seguinte , pula entendi. Acho que agora expliquei melhor.

rafaeldiego

Bom dia!

Já utilizei algum procedimento parecido aqui na empresa… para você fazer a importação, terá que se certificar que o conteúdo do seu TXT está de acordo com os padrões SQL.

Ou seja, no TXT deverá conter instruções SQL, dependendo do que você quer (criar bancos, tabelas e atributos… ou importar dados). Mas as intruções tem que estar no padrão aceitável pelo SQL.

Se você exportou os dados de algum local (ou se vai exportar) verifique se há a opção de exportar para SQL, nos padrões SQL Server… geralmente as ferramentas de GBD oferecem este recurso para exportar.

Espero ter ajudado
Abraço.

L

Vou te mostrar o txt

10;17;TRANSF. PROD. ADQ. TERCEIROS ;0; 1;000000015;2008-10-23;

Apos cada ponto a virgula , é um campo que tenho que adicionar no banco sql server em uma tabela.

rafaeldiego

cara, da uma procurada por aí sobre importar txt no sql, com certeza vai achar algo mto melhor do que falo aqui,
mas a meu ver, seria um txt do tipo:

INSER INTO tabelaA (X, Z, Y, W) VALUES (10,17, ‘TRANSF. PROD. ADQ. TERCEIROS’, 0, 1, ‘000000015’, ‘2008-10-23’ )

(partindo do pressuposto que a tabela “tabelaA” já existe, com os devidos campos.

L

Tipo ele tem que ler varios txt. Dependendo do campo se tiver preenchido coloca ou não , se tiver inseri na tabela , se nao tiver , passa para o proximo e no final ja passa para outro txt se tiver.

carloslouvato

e ai leonardo…
vc poderia usar alguma coisa como substring:

} else if (this.dadosLinhaAtual.substring(0, 10).equals(";")) {

e assim para todos os campos a ser incluso na tabela…

se nao tiver dados , vai aparecer na tabela como null.
bom , acho que foi isto que entendi na sua pergunta!!!

se tiver algo errado no codigo, por favor, alguem me corrija!!!
abraço

carloslouvato

olhando melhor o post… entendi que vc quer impotar diretamente a txt para o sql.
achei que ia usar alguma coisa no java.
desculpe.

L

Pode me explicar o código ? aonde digo como buscar o txt ? ja tenho o processo para conectar no banco.

grprado

Não use java para fazer isso. O Enterprise Manager tem várias ferramentas para isso.

Passo a passo:

Abra o enterprise Manger e selecione a instancia/banco que você irá usar.
Clique com o botão direito no banco e selecione all tasks - import data. Será aberto um wizard, siga os passos dele e a importação será fácil.

Se você precisa automatizar essa tarefa é possível salvar esse processo no final, reaproveitando para futuras execuções.

Obs: essa solução só funciona se a pessoa que for executar esse procedimento administrar o banco ou a base de dados. Caso a importação seja algo rotineiro ou que deva ser implementada no sistema java, de uma olhada no javadoc http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html é trivial fazer isso usando regex.

carloslouvato

Neste caso acho realmente ideal usar o enterprise. no meu caso tenho que importar todos os dias varios tipos de arquivo txt com varios formatos: "; " “t” “x” “y” , ai neste caso eu uso um classe de importaçao no netbeans, jogando para dentro do firebird.
grande abraço.

Criado 27 de outubro de 2008
Ultima resposta 29 de out. de 2008
Respostas 11
Participantes 5