none
Erro ao usar fileupload RRS feed

  • Pergunta

  • Pessoal,

    Tô tentando usar o fileupload para importar os dados de uma planilha do excel. Eu já fiz esse tipo de coisa e até hoje nunca tinha dado errado, porém tive que importar uma planilha hoje e não deu certo, o que aconteceu foi que eu simplistimente setava o arquivo no fileupload clicava em um botão importar e o internet explorer me mostrava uma página dizendo: O internet explorer não pode exibir a página da web.

    Bom essa planilha contém mais de 50.000 registros, então deixei ela apenas com 10 e rodei o processo novamente, o erro que citei acima não ocorreu, porém eu obtive a seguinte erro: Não é possível atualizar o banco de dados ou objeto é somente leitura.

    ps.:Não há nenhuma espécie de bloqueio nessa planilha, e ela não é somente leitura.


    Perguntas:
    O uploadfile não suporta arquivos de grandes? Pois com 50.000 foi um erro e com 10 foi outro.
    E esse segundo erro? Qual a solução


    Grato,
    Duan Brito - Analista de Sistemas/Programador
    sexta-feira, 16 de outubro de 2009 18:58

Todas as Respostas

  • Você está usando UpdatePanel?

    Se sim, este é o problema.

    Duas opções que conheço:

    Crie uma outra página sem updatepanel com o upload de arquivo e chame essa página como popup javascript.

    Ou tente:

    RegisterPostBackControl do ScriptManager : http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.registerpostbackcontrol.aspx

    Pra mim, a segunda opção não funcionou.

    Abraço!

    Roberto Santos http://blog.robertoosantos.com
    sexta-feira, 16 de outubro de 2009 20:06
  • Já tive esse problema e uma solução para isso é fazer o que o Roberto sugeriu é remover o FileUpload de dentro do UpdatePanel, dessa forma a página que eu estava desenvolvendo na época funcionou perfeitamente. Pois o FileUpload precisa fazer o postback na página com o intuito de recuperar o arquivo, mas com a utilização do updatepanel o mesmo impossibilita que isso seja feito.

    Agora caso queira utilizar o FileUpload dentro do UpdatePanel ai você terá que habilitar os controles dentro de um UpdatePanel para causar um postback :  http://msdn.microsoft.com/pt-br/library/system.web.ui.postbacktrigger.aspx

    Duan fiz um teste aqui, onde a planilha tem 10.000 registros e tamanho de 2,13 MB e funcionou. O campo da tabela que recebe esse arquivo é do tipo varbinary(MAX).

    Outro procedimento a ser visto é verificar se o usuário tem acesso ao banco ou se a propriedade da pasta que está o BD é somente leitura se for desmarcar essa opção.

    Abraço!
    sábado, 17 de outubro de 2009 16:38
  • Oi,

    O banco de dados é Access ?

    A mensagem se parece com a mensagem gerada quando o arquivo do access - .mdb - está inacessível para escrita por algum motivo - readonly, sem permissão para o usuário, etc.

    Dependendo da forma como você esteja abrindo o arquivo do excel para iniciar a importação, isso poderia também acontecer no momento da abertura do arquivo do excel, no caso da abertura do arquivo estar sendo feita para leitura/escrita.

    []'s
    Dennes
    * Treinamento de ASP.NET 3.5 dia 24/10 - Apenas 12x R$ 70,88 - Inscreva-se em http://www.bufaloinfo.com.br/cursos/aspnet2.asp

    * Treinamento de Introdução a OO e Framework .NET c/C# dia  24/10 - Apenas 12 R$ 42,53  Inscreva-se em http://www.bufaloinfo.com.br/cursos/fundamentosOOFramework.asp

    Tel :  (11) 3170-3056  (21)9240-5134  E-Mail: contato arroba bufaloinfo.com.br
    http://www.bufaloinfo.com.br


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    domingo, 18 de outubro de 2009 23:37