Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Neto Diniz

Como Fazer??

Recommended Posts

Boa tarde! Tenho um arquivo TXT contendo vários inserts como esse abaixo:insert into cliente(cli_codigo,cli_nome,cli_razao_social,cli_endereco,cli_compl,cli_numero,cli_bairro,cli_cidade,cli_cep,cli_fax,cli_telefone,cli_telefone2,cli_telefone3,cli_home_page,cli_email) values ( 6410, 'Pedra Branca','','Rua 1 Cj.Ica Paraiba','','09','Adrianópolis','Manaus','69.057-550','3236-0849','3236-0849',->'''','','') Eu vou no Query Analyser e posso fazer isso colocando todos os inserts e play, mas é o seguinte tem algumas linhas q está dando erro de por ex: tem alguns campos que estão em branco entao eles são compostos por 2 aspas simples ('') mas ai tem linhas que está como a linha de cima está faltando uma virgula no meio dakelas 4 aspas simples, entao oq eu queria é o seguinte fazer um sisteminha que leia estas linhas neste arquivo txt e as linhas que for dando erro ele manda para outro arquivo txt e continua fazendo o insert na tabela clientes.Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta utilizar o "on error resume next".Verifica se deu erro... Se sim, insere no outro *.txt...Não entendi direito... Mas acho q assim vai funfar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta utilizar o "on error resume next".Verifica se deu erro... Se sim, insere no outro *.txt...Não entendi direito... Mas acho q assim vai funfar.

Bom dia, Eu achei no imasters um sisteminha que pega as informações de um arquivo txt e insere no banco de dados, porém eu gostaria de uma ajuda para fazer alguma modificações. o meu arquivo txt tem mais de 4.000 linhas e elas estão no arquivo da seguinte maneira:-----------------------------------------------------------------------------------------------------------------------------insert into cliente(cli_codigo,cli_nome,cli_razao_social,cli_endereco,cli_compl,cli_numero,cli_bairro,cli_cidade,cli_cep,cli_fax,cli_telefone,cli_telefone2,cli_telefone3,cli_home_page,cli_email) values ( 6410, 'Pedra Branca','','Rua 1 Cj.Ica Paraiba','','09','Adrianópolis','Manaus','69.057-550','3236-0849','3236-0849','''','','')insert into cliente(cli_codigo,cli_nome,cli_razao_social,cli_endereco,cli_compl,cli_numero,cli_bairro,cli_cidade,cli_cep,cli_fax,cli_telefone,cli_telefone2,cli_telefone3,cli_home_page,cli_email) values ( 11372, 'Daja Informática','A. M. Gomes de Araújo','Rua 1 Cj.Ica Paraiba','','42','Adrianópolis','Manaus','69.057-550','','3642-4586','3642-0328''','www.daja.com.br','daja@daja.com.br')-----------------------------------------------------------------------------------------------------------------------------e assim vai.... o meu código está assim: Como eu posso fazer para que quando der algum erro na hora de inserir ele mandar a linha para o arquivo erro.txt e continuar inserindo deu erro manda a linha. Obrigado!-----------------------------------------------------------------------------------------------------------------------------<% Option explicit %><%'Primeiramente, iremos setar um valor de execução de script'Pois dependendo do tamanho do arquivo o script pode exeder o tempo limiteServer.ScriptTimeout = 100000'Iremos tambem fazer com que o script siga quando ocorrer um erro'Para podermos tratá-lo após o scripton error resume next'Criaremos a conexao com o banco de dadosDim MM_vipdatabase_STRINGMM_vipdatabase_STRING = "DRIVER=SQL Server;APP=Microsoft Open Database Connectivity;SERVER=VIPSERVER;DATABASE=guiamanaus;"dim objConnect, sqlset objConnect = Server.CreateObject("ADODB.Connection")objConnect.ConnectionString = MM_vipdatabase_STRINGobjConnect.Open'Antes de criarmos o FSO, iremos exibir uma imagem de envio'Somente para ilustrar pois dependendo do arquivo o processo pode ser demoradoresponse.write "<img src='inserindo.gif'>"Dim objFSO'Aqui que daremos início ao sistema'Criaremos o objeto FileSystemObjectSet objFSO = Server.CreateObject("Scripting.FileSystemObject")Dim varArquivo'Agora, com o uso do FSO, iremos abrir o arquivo texto que iremos criarSet varArquivo = objFSO.OpenTextFile(server.MapPath("cliente.txt"), 1)dim arrayLinha'Agora que o arquivo já foi aberto, iremos ler linha por linha'O comando AtEndOfStream determina que iremos repetir o processo abaixo'até o fim do arquivoDo while not varArquivo.AtEndOfStream'Abaixo, criaremos um array para separar os dados entre ponto-e-vírgula'ReadLine é usado para indicar que iremos separar os dados desta linhaarrayLinha=varArquivo.ReadLine'Com o array criado, iremos inserir de acordo com a ordem dos campos'Usando 'arrayLinha(0)' nós determinamos cada dado pela ordem do arquivo de texto'começando pelo zero que é respectivamente o campo nome e por ai adiantesql = arrayLinhaset inserir = objConnect.Execute(sql)'Passar para próxima linhaloop'Destruiremos e fecharemos o FSO e o acesso ao arquivo de textovarArquivo.CloseSet varArquivo = NothingSet objFSO = Nothing'Destruiremos e fecharemos a conexão com o banco de dadosobjConnect.closeSet objConnect = nothing'Abaixo, caso a ordem ou a quantidade de campos do arquivo de texto'seja inferior a do banco de dados, retornaremos uma mensagem de erroif err>0 then response.write "<script>history.back(1);alert('Ocorreu algum problema na inserção.\nVerifique o layout do arquivo de texto.')</script>" response.End()end if'Caso tudo tenha ocorrido corretamente, iremos para uma página'para verificarmos se o conteúdo foi inserido corretamente'response.write "<script>location = 'exibir.asp'</script>"%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta utilizar o "on error resume next".Verifica se deu erro... Se sim, insere no outro *.txt...Não entendi direito... Mas acho q assim vai funfar.

Bom dia, Eu achei no imasters um sisteminha que pega as informações de um arquivo txt e insere no banco de dados, porém eu gostaria de uma ajuda para fazer alguma modificações. o meu arquivo txt tem mais de 4.000 linhas e elas estão no arquivo da seguinte maneira:-----------------------------------------------------------------------------------------------------------------------------insert into cliente(cli_codigo,cli_nome,cli_razao_social,cli_endereco,cli_compl,cli_numero,cli_bairro,cli_cidade,cli_cep,cli_fax,cli_telefone,cli_telefone2,cli_telefone3,cli_home_page,cli_email) values ( 6410, 'Pedra Branca','','Rua 1 Cj.Ica Paraiba','','09','Adrianópolis','Manaus','69.057-550','3236-0849','3236-0849','''','','')insert into cliente(cli_codigo,cli_nome,cli_razao_social,cli_endereco,cli_compl,cli_numero,cli_bairro,cli_cidade,cli_cep,cli_fax,cli_telefone,cli_telefone2,cli_telefone3,cli_home_page,cli_email) values ( 11372, 'Daja Informática','A. M. Gomes de Araújo','Rua 1 Cj.Ica Paraiba','','42','Adrianópolis','Manaus','69.057-550','','3642-4586','3642-0328''','www.daja.com.br','daja@daja.com.br')-----------------------------------------------------------------------------------------------------------------------------e assim vai.... o meu código está assim: Como eu posso fazer para que quando der algum erro na hora de inserir ele mandar a linha para o arquivo erro.txt e continuar inserindo deu erro manda a linha. Obrigado!-----------------------------------------------------------------------------------------------------------------------------<% Option explicit %><%'Primeiramente, iremos setar um valor de execução de script'Pois dependendo do tamanho do arquivo o script pode exeder o tempo limiteServer.ScriptTimeout = 100000'Iremos tambem fazer com que o script siga quando ocorrer um erro'Para podermos tratá-lo após o scripton error resume next'Criaremos a conexao com o banco de dadosDim MM_vipdatabase_STRINGMM_vipdatabase_STRING = "DRIVER=SQL Server;APP=Microsoft Open Database Connectivity;SERVER=VIPSERVER;DATABASE=guiamanaus;"dim objConnect, sqlset objConnect = Server.CreateObject("ADODB.Connection")objConnect.ConnectionString = MM_vipdatabase_STRINGobjConnect.Open'Antes de criarmos o FSO, iremos exibir uma imagem de envio'Somente para ilustrar pois dependendo do arquivo o processo pode ser demoradoresponse.write "<img src='inserindo.gif'>"Dim objFSO'Aqui que daremos início ao sistema'Criaremos o objeto FileSystemObjectSet objFSO = Server.CreateObject("Scripting.FileSystemObject")Dim varArquivo'Agora, com o uso do FSO, iremos abrir o arquivo texto que iremos criarSet varArquivo = objFSO.OpenTextFile(server.MapPath("cliente.txt"), 1)dim arrayLinha'Agora que o arquivo já foi aberto, iremos ler linha por linha'O comando AtEndOfStream determina que iremos repetir o processo abaixo'até o fim do arquivoDo while not varArquivo.AtEndOfStream'Abaixo, criaremos um array para separar os dados entre ponto-e-vírgula'ReadLine é usado para indicar que iremos separar os dados desta linhaarrayLinha=varArquivo.ReadLine'Com o array criado, iremos inserir de acordo com a ordem dos campos'Usando 'arrayLinha(0)' nós determinamos cada dado pela ordem do arquivo de texto'começando pelo zero que é respectivamente o campo nome e por ai adiantesql = arrayLinhaset inserir = objConnect.Execute(sql)'Passar para próxima linhaloop'Destruiremos e fecharemos o FSO e o acesso ao arquivo de textovarArquivo.CloseSet varArquivo = NothingSet objFSO = Nothing'Destruiremos e fecharemos a conexão com o banco de dadosobjConnect.closeSet objConnect = nothing'Abaixo, caso a ordem ou a quantidade de campos do arquivo de texto'seja inferior a do banco de dados, retornaremos uma mensagem de erroif err>0 then response.write "<script>history.back(1);alert('Ocorreu algum problema na inserção.\nVerifique o layout do arquivo de texto.')</script>" response.End()end if'Caso tudo tenha ocorrido corretamente, iremos para uma página'para verificarmos se o conteúdo foi inserido corretamente'response.write "<script>location = 'exibir.asp'</script>"%>
Alguém poderia me dar uma ajuda! por favor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.