Ir para conteúdo

POWERED BY:

Arquivado

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

luisym

cadastrar info do txt no bd

Recommended Posts

Fala ai galera tranquilo, estou tentando cadastrar info de um txt num db contudo ta dando o seguinte erro:Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in query expression '_neemiaslima@uol.com.br'. /email/index.asp, line 48 Alguem ai poderia me ajudar?

Dim conex,db_path,path_do_arquivo,nome_do_arquivopath_do_arquivo = "e:\home\interno\dados\"nome_do_arquivo = "emails.txt"cont = 0db_path = "e:\home\interno\dados\email.mdb"set conex = Server.CreateObject("ADODB.Connection")conex.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & db_pathconex.open'Use o objeto FileSystem para abrir o arquivoSet fs = CreateObject("Scripting.FileSystemObject")Set thisfile = fs.OpenTextFile(path_do_arquivo & nome_do_arquivo, 1, 0)do while thisfile.AtEndOfStream=false emaill = thisfile.Readline  emaill = Trim(emaill)strSQL = "SELECT * FROM tblMailingList order by Mail_ID"Set bds = Conex.Execute(strSQL)do while not bds.eofemaildb = Trim(bds("email"))if emaill = emaildb thenchave = "1"end ifbds.movenextloopif chave = "1" thenresponse.write cont&" - "&emaill &" Ja estava cadastrado.<br>"else strUserCode = Left(emaill,2) & (9876989856 * CInt((RND * 32000) + 100))SQLStmt = "INSERT INTO tblMailingList (Email,ID_Code)"SQLStmt = SQLStmt & "VALUES (" & emaillSQLStmt = SQLStmt & "," & strUserCode & ")"set incluir = Conex.Execute(SQLStmt)response.write cont&" - "&emaill & " Cadastrado com sucesso ! <br>"cont = cont + 1end ifchave = "0"loopconex.Closeset conex=nothingset dbs=nothingset incluir=nothingthisfile.Closeset thisfile=nothingset fs=nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poutz, sem maldade, mas postar um tópico com váááárias linhas a serem analisadas e tal complica parceiro, pelo menos para mim, que até responderia com boa vontade...Tipow, como está vindo o arquivo, qual sua estrutura... E aí fica mais fácil irmos direto ao ponto... Porque aí basta ver como você está lendo e tal... E claro, pode ser também que o arquivo esteja inconsistente, pode ser que ele esteja vindo com um "pistilo" num lugar em que não deveria ter etc...- Fernando Botelho

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema asism ja resolvi, consudo como sao mais de 10.000 linhas no txt da erro na hora de gravar no db o que eu posso fazer para resolver esse problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites
o problema asism ja resolvi, consudo como sao mais de 10.000 linhas no txt da erro na hora de gravar no db o que eu posso fazer para resolver esse problema?

Nesse caso que erro que dá?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Active Server Pages error 'ASP 0113' Script timed out /email/index.asp The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Era o que imaginava, aumente o time out:

server.ScriptTimeout=500

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora deu esse erro...

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again. /email/index.asp, line 50

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora é o seguinte, o erro é porque você está tentando inserir um valor que já existe em um campo definido como chave primária (que não permite duplicidade) no seu BD!

Isso deve ser porque, como você já rodou o Script, ele já deve ter cadastrado alguns valores de seu TXT no BD.

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.