Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Diariamente tenho que processar um arquivo txt para colocar no DB, as vezes ele tem mais de 30mil registros as vezes tem 2mil.
O que posso mudar para deixar esse codigo mais rapido para o servidor processar?
'##################################
Session.LCID = 1046
Set obj = CreateObject("scripting.filesystemobject")
Set obj = obj.OpenTextFile(Server.MapPath("./VENDAS"), 1)
textHTML = obj.ReadAll
'response.write textHTML
IF inStr(1,textHTML,"The page cannot be found")>0 THEN
response.write "Data inválida, ou o arquivo ainda não está disponível"
response.end
END IF
Data = Cdate(mid(textHTML,37,2) & "/" & mid(textHTML,35,2) & "/" & mid(textHTML,31,4))
response.write data & "<BR>"
i1=3849
for aa=1 to 30000
on Error resume next
i = inStr(i1,textHTML,"02")
f = 350
d1 = mid(textHTML,i,f)
i1=i+f
if i=0 then exit for
TIPO = trim(mid(d1,70,3)) ' retirar o que não precisa incluir no DB
IF (TIPO="70" OR TIPO="80" OR TIPO="30" OR TIPO="12" OR TIPO="13" OR TIPO="10") THEN
campo1 = trim(mid(d1,58,12))
campo2 = Clng(trim(mid(d1,88,03)))
campo3 = Clng(trim(mid(d1,91,11)))/100
campo4 = Clng(trim(mid(d1,102,11)))/100
campo5 = Clng(trim(mid(d1,113,11)))/100
campo6 = Clng(trim(mid(d1,124,11)))/100
campo7 = Clng(trim(mid(d1,135,11)))/100
campo8 = Clng(trim(mid(d1,152,11)))/100
campo9 = Clng(trim(mid(d1,163,11)))/100
campo10 = Clng(trim(mid(d1,174,5)))
campo11 = Clng(trim(mid(d1,179,15)))
campo12 = Clng(trim(mid(d1,194,17)))/100
campo13 = Clng(trim(mid(d1,211,11)))/100
campo14 = Cdate(mid(d1,228,2) & "/" & mid(d1,226,2) & "/" & mid(d1,222,4))
on error goto 0
set rs2=con.execute("SELECT * FROM Historico WHERE data="&to_sql(data,"date")&" AND campo1='"&campo1&"' AND campo2="&campo2&" ")
IF rs2.EOF then
inclui_dados
else
response.write "já estava no bando de dados: "
END IF
END IF'-----------------------------------------------------------------------
Sub inclui_dados()
sql = "INSERT INTO Historico" & _
"(" & _
"Data," & _
"campo1," & _
"campo2," & _
"campo3," & _
"campo4," & _
"campo5," & _
"campo6," & _
"campo7," & _
"campo8," & _
"campo9," & _
"campo10," & _
"campo11," & _
"campo12," & _
"campo13," & _
"campo14" & _
") VALUES (" & to_sql(Data,"date") & "," & _
"" & to_sql(campo1,"text") & "," & _
"" & to_sql(campo2,"number") & "," & _
"" & to_sql(campo3,"text") & "," & _
"" & to_sql(campo4,"text") & "," & _
"" & to_sql(campo5,"text") & "," & _
"" & to_sql(campo6,"text") & "," & _
"" & to_sql(campo7,"text") & "," & _
"" & to_sql(campo8,"text") & "," & _
"" & to_sql(campo9,"text") & "," & _
"" & to_sql(campo10,"number") & "," & _
"" & to_sql(campo11,"number") & "," & _
"" & to_sql(campo12,"text") & "," & _
"" & to_sql(campo13,"text") & "," & _
"" & to_sql(campo14,"date") & ")" & _
""
'response.write sql
on error resume next
con.Execute(sql)
if err.Number <> 0 then
response.write err.Description & & campo1
end if
on error goto 0Carregando comentários...