Ir para conteúdo

POWERED BY:

Arquivado

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

mvca

com upload

Recommended Posts

Tenho um sistema q faz o seguintre:1- ele manda um arquivo pra o servidor (upload), ta ai o primeiro problema, o arquvivo tem mais de 2 mb, por isso nao to consegundo fazer o upload!!!2- na segunda parte do sistema pegaria as informações desse arquivo txt e inseriria no banco de dados mysql, a vai o segundo problema é q no arquivo em txt, existe mais de 10.000 registro, e nao consigo inserir mais de 800, sempre da erro, o q eu faco???Por favor me ajudem, preciso isso pra ontem pra colocar no ar, pois to sem ideia!!!Obrigado pela atenção,Marcus

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que mudar o tamanho maximo

Compartilhar este post


Link para o post
Compartilhar em outros sites

do upload eh configuração do objeto de upload como o mario falou... definir o tamanho maximo (você encontra isso na documentação do objeto... pois eh possível enviar GB... )de você rodar no MySQL...dependendo da versão do mysql, se ela suportar transação... você inicia uma transação.. e roda lotes de 10 inserts... depois da committ ou rollback na transação conforme o resultado final..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, meu codigo é esse pra ler e inserir no banco de dados.O que eu mudo, como faco na pratica,pois nao entendi nada o q vcs falaram?CODIGO PRA INSERIR NO BD MYSQL:<% Set objConexao = Server.CreateObject("ADODB.Connection") objConexao.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;PORT=3306;database=4em1;uid=admin;pwd=admin;" stringSQL = "DELETE FROM 4em1.4em1_dismopel_clientes" SET objRecordSet = objConexao.Execute(stringSQL) SET objRecordSet = nothing%><% Set O_FSO = Server.CreateObject("Scripting.FileSystemObject") 'Cria o Objeto Set O_FSO_File = O_FSO.OpenTextFile(Server.MapPath("sist.txt"), 1) 'Abre o arquivo para leitura Ver_Base = O_FSO_File.Readall 'Lê todo o conteúdo do arquivo Set O_FSO_File = Nothing 'Destrói o objetoSet O_FSO = Nothing 'Destrói o objetoVer_Base = Replace(Ver_Base,Chr(10),"") 'Aqui estou retirando um caractere "invisivel" mas que pode atrapalhar nossa divisão de CPF e Nomemt = Split(Ver_Base,Chr(13)) 'Criando a MatrizReDim campo1(UBound(mt)) 'Criando uma matriz para os CNPJReDim campo2(UBound(mt)) 'Criando uma matriz para os RAZÃO SOCIALReDim campo3(UBound(mt)) 'Criando uma matriz para os SITUAÇÃO ATUALReDim campo4(UBound(mt)) 'Criando uma matriz para os TIPO DE COBRANÇAReDim campo5(UBound(mt)) 'Criando uma matriz para os LIMITE DE CRÉDITOReDim campo6(UBound(mt)) 'Criando uma matriz para os MÉDIA DE ATRASOReDim campo7(UBound(mt)) 'Criando uma matriz para os DATA DO CADASTROReDim campo8(UBound(mt)) 'Criando uma matriz para os DATA DO ÚLTIMO FATURTOReDim campo9(UBound(mt)) 'Criando uma matriz para os DATA DO MAIOR ACUMULOReDim campo10(UBound(mt)) 'Criando uma matriz para os VALOR DO ÚLTIMO FATURTO -->> Avisaram que os campos de valor tem 08 caracteres porque tem os 2 dígitos depois da vírgula ex: 350,00 (mas o sistema não conta a vírgula)!ReDim campo11(UBound(mt)) 'Criando uma matriz para os VALOR MAIOR ACÚMULOReDim campo12(UBound(mt)) 'Criando uma matriz para os VALOR DO ACÚMULO ATUALReDim campo13(UBound(mt)) 'Criando uma matriz para os PAGAMENTO DE JUROSReDim campo14(UBound(mt)) 'Criando uma matriz para os PAGAMENTO EM CARTÓRIOReDim campo15(UBound(mt)) 'Criando uma matriz para os VALOR TOTAL A VENCERReDim campo16(UBound(mt)) 'Criando uma matriz para os VALOR ATRASO ATÉ 15DReDim campo17(UBound(mt)) 'Criando uma matriz para os VALOR ATRASO DE 16 À 30D ReDim campo18(UBound(mt)) 'Criando uma matriz para os VALOR ATRASO MAIS DE 30D'1. (014). CNPJ'2. (040). RAZÃO SOCIAL'3. (030). SITUAÇÃO ATUAL'4. (040). TIPO DE COBRANÇA'5. (007). LIMITE DE CRÉDITO'6. (004). MÉDIA DE ATRASO'7. (008). DATA DO CADASTRO'8. (008). DATA DO ÚLTIMO FATURTO'9. (008). DATA DO MAIOR ACUMULO'10. (008). VALOR DO ÚLTIMO FATURTO -->> Avisaram que os campos de valor tem 08 caracteres porque tem os 2 dígitos depois da vírgula ex: 350,00 (mas o sistema não conta a vírgula)!'11. (008). VALOR MAIOR ACÚMULO'12. (008). VALOR DO ACÚMULO ATUAL'13. (003). PAGAMENTO DE JUROS'14. (003). PAGAMENTO EM CARTÓRIO'15. (008). VALOR TOTAL A VENCER'16. (008). VALOR ATRASO ATÉ 15D'17. (008). VALOR ATRASO DE 16 À 30D '18. (008). VALOR ATRASO MAIS DE 30DFor x = 0 To UBound(mt)campo1(x) = Left(mt(x),14) 'Criando uma matriz para os CNPJcampo2(x) = Mid(mt(x),15,40) 'Criando uma matriz para os RAZÃO SOCIALcampo3(x) = Mid(mt(x),55,30) 'Criando uma matriz para os SITUAÇÃO ATUALcampo4(x) = Mid(mt(x),85,40) 'Criando uma matriz para os TIPO DE COBRANÇAcampo5(x) = Mid(mt(x),125,7) 'Criando uma matriz para os LIMITE DE CRÉDITOcampo6(x) = Mid(mt(x),132,4) 'Criando uma matriz para os MÉDIA DE ATRASOcampo7(x) = Mid(mt(x),136,8) 'Criando uma matriz para os DATA DO CADASTROcampo8(x) = Mid(mt(x),144,8) 'Criando uma matriz para os DATA DO ÚLTIMO FATURTOcampo9(x) = Mid(mt(x),152,8) 'Criando uma matriz para os DATA DO MAIOR ACUMULOcampo10(x) = Mid(mt(x),160,8) 'Criando uma matriz para os VALOR DO ÚLTIMO FATURTO -->> Avisaram que os campos de valor tem 08 caracteres porque tem os 2 dígitos depois da vírgula ex: 350,00 (mas o sistema não conta a vírgula)!campo11(x) = Mid(mt(x),168,8) 'Criando uma matriz para os VALOR MAIOR ACÚMULOcampo12(x) = Mid(mt(x),176,8) 'Criando uma matriz para os VALOR DO ACÚMULO ATUALcampo13(x) = Mid(mt(x),184,3) 'Criando uma matriz para os PAGAMENTO DE JUROScampo14(x) = Mid(mt(x),187,3) 'Criando uma matriz para os PAGAMENTO EM CARTÓRIOcampo15(x) = Mid(mt(x),190,8) 'Criando uma matriz para os VALOR TOTAL A VENCERcampo16(x) = Mid(mt(x),198,8) 'Criando uma matriz para os VALOR ATRASO ATÉ 15Dcampo17(x) = Mid(mt(x),206,8) 'Criando uma matriz para os VALOR ATRASO DE 16 À 30D campo18(x) = Mid(mt(x),214,8) 'Criando uma matriz para os VALOR ATRASO MAIS DE 30D Set objConexao = Server.CreateObject("ADODB.Connection") objConexao.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;PORT=3306;database=4em1;uid=admin;pwd=admin;" stringSQL = "INSERT INTO 4em1.4em1_dismopel_clientes (cnpj, razao_social, situacao_atual, tipo_cobranca, limite_credito, media_atraso, data_cadastro, data_ultima, data_maior, valor_ultima, valor_maior, valor_atual, pagamento_juro, pagamento_cartorio, valor_vencer, valor_atraso_15, valor_atraso_16_30, valor_atraso_30) VALUES ('"& campo1(x) &"', '"& campo2(x) &"', '"& campo3(x) &"', '"&campo4(x) &"', '"& campo5(x) &"', '"& campo6(x) &"', '"& campo7(x) &"', '"& campo8(x) &"', '"& campo9(x) &"', '"& campo10(x) &"', '"& campo11(x) &"', '"& campo12(x) &"', '"& campo13(x) &"', '"& campo14(x) &"', '"& campo15(x) &"', '"& campo16(x) &"', '"& campo17(x) &"', '"& campo18(x) &"')" SET objRecordSet = objConexao.Execute(stringSQL) SET objRecordSet = nothing Next response.redirect "res_cad.asp" %>e essa é minha funcao de upload, o q eu mudo???CODIGO DE UPLOAD:upload_funcoes.asp<%' Upload Sem componentes ---------------------------------------Sub BuildUploadRequest(RequestBin) on error resume next PosBeg = 1 PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13))) boundary = MidB(RequestBin, PosBeg, PosEnd - PosBeg) BoundaryPos = InStrB(1, RequestBin, boundary) Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--"))) Dim UploadControl Set UploadControl = CreateObject("Scripting.Dictionary") Pos = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition")) Pos = InStrB(Pos, RequestBin, getByteString("name=")) PosBeg = Pos + 6 PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34))) Name = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg)) PosFile = InStrB(BoundaryPos, RequestBin, getByteString("filename=")) PosBound = InStrB(PosEnd, RequestBin, boundary) If PosFile <> 0 And (PosFile < PosBound) Then PosBeg = PosFile + 10 PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34))) FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg)) UploadControl.Add "FileName", FileName Pos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:")) PosBeg = Pos + 14 PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13))) ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg)) UploadControl.Add "ContentType", ContentType PosBeg = PosEnd + 4 PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2 Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg) Else Pos = InStrB(Pos, RequestBin, getByteString(Chr(13))) PosBeg = Pos + 4 PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2 Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg)) End If UploadControl.Add "Value", Value UploadRequest.Add Name, UploadControl BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary) LoopEnd SubFunction getByteString(StringStr) For i = 1 To Len(StringStr) Char = Mid(StringStr, i, 1) getByteString = getByteString & ChrB(AscB(Char)) NextEnd FunctionFunction getString(StringBin) getString = "" For intCount = 1 To LenB(StringBin) getString = getString & Chr(AscB(MidB(StringBin, intCount, 1))) NextEnd Function' Fim upload sem Componentes -----------------------------------------%>upload_form2.asp<!-- #include file = "upload_funcoes.asp" --><%' Chamando Funções, que fazem o Upload funcionarbyteCount = Request.TotalBytesRequestBin = Request.BinaryRead(byteCount)Set UploadRequest = CreateObject("Scripting.Dictionary")BuildUploadRequest RequestBin' Recuperando os Dados Digitados ----------------------' Tipo de arquivo que esta sendo enviadotipo_arq = UploadRequest.Item("arq").Item("ContentType")' Caminho completo dos arquivos enviadoscaminho_arq = UploadRequest.Item("arq").Item("FileName")' Nome dos arquivos enviadosnome_arq = Right(caminho_arq,Len(caminho_arq)-InstrRev(caminho_arq,"\"))' Conteudo binario dos arquivos enviadosarq = UploadRequest.Item("arq").Item("Value")' pasta onde as imagens serao guardadaspasta = Server.MapPath("./")nome_arq = "/"&"sist.txt"' pasta + nome dos arquivos' Fazendo o Upload do arquivo selecionadoif arq <> "" then Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject") Set MyFile = ScriptObject.CreateTextFile(pasta & nome_arq) For i = 1 to LenB(arq) MyFile.Write chr(AscB(MidB(arq,i,1))) Next MyFile.Closeend if' Redireciona após 5 segundosresponse.redirect "consulta2.asp"%>O que eu faco, por favor me ajudem!!!

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.