Jump to content


Gustavo Neves Alves

Member Since 04/01/2008
Offline Last Active 19/02/2008, 11:11
-----

Topics I've Started

[Resolvido] Problemas Com ExportaçãO De Grande Volume De Dad

16/01/2008, 09:34

Fiz um sistema q gera uma planilha dinâmica para meu usuário afim de que ele mesmo monte seu próprio relatório.
Acontece que o volume de dados cresce muito de um dia para o outro e em menos de dois meses de uso já tenho mais de 12 mil registros.
Quando meu usuário esta exportando selecionando todas as colunas permitidas, esta dando o seguinte erro dentro do Excel: “O arquivo não foi completamente carregado.”.
Ps.: o erro só ocorre quando são muitos os registros.

Estou usando o método simples de exportação:
Response.ContentType = "application/vnd.ms-excel"

Preciso continuar usando este método, pois para usar o que cria um objeto do Excel faria ser necessário que todos meus usuários tenham em suas máquinas um client do Oracle (banco de dados em questão), já passaria a rodar local.

Bem desenvolvo em uma maquina com Windows XP, com IIS versão 5.1, nela habilitando o seguinte comando resolve: “Response.Buffer = true”.

Porem este comando não funciona muito bem no Windows Server 2003 com IIS 6.

Já verifiquei a configuração da máquina e lá a opção Buffer esta ativada e não esta aceitando grandes volumes na exportação ainda.

Ágüem tem alguma sugestão que não envolva CreateObject.


Obrigado ao pessoal que se dispôs a pelo menos pensar no meu problema, mas já resolvi e como postei numa pancada de fóruns vou compartilhar a solução aqui:

Bem era bobeira o erro, quando você solicita grande massa de dados o período de execução do seu script logicamente fica mais demorado dando SCRIPT TIMEOUT bem não identifiquei o problema antes embora o tenha imaginado porque para mim quando dava TIMEOUT gerava uma exceção que eu poderia capturar no Err, porem não gera. =\

A solução foi muito simples bastou colocar:

Response.Buffer = True
Server.ScriptTimeout = 999999

O Buffer veio mais como complemento para garantir que vai funcionar legal, porem só com o Server.ScriptTimeout já da certo.

O EXGERO no TIMEOUT é só para evitar ter de mexer de novo neste código já que por dia minha tabela acresce cerca de 600 registros.

Recomendo também o pessoal que for fazer exportação para o Excel a combinar o já conhecido "Response.ContentType = "application/vnd.ms-excel" com:

Call Response.AddHeader("content-disposition", attachment;filename=Nome_do_Arquivo.xls")

Ele força o DOWNLOAD na forma de Arquivo do Excel, vantagens:
» não sobrecarrega o BROWSER do cliente que possivelmente estará com outras paginas importantes abertas, não correndo o risco de gera um erro de aplicação fechando tudo.

» fica mais atraente e habilita todos os recursos do Excel, melhorando a usabilidade da sua planilha.


vlwwwwwww galera!! :D

Usuários Expirados No Oracle Usando Vb6

04/01/2008, 08:44

Bem pessoal estou com um problemão, trabalho num empresa que possui vários usuários com acesso a bancos do Oracle, e me foi pedido um programinha que alterasse essa senha de acesso.

bem o programa e simples e já funciona, meu problema hoje e com usuários expirados.

bem o que acontece é que quando o usuário esta espirado eu não tenho como entrar no banco para fazer o desbloqueio e a devida troca de senha, estou usando o VB6 para desenvolver a aplicação.

quando o Vb me retorna ERRO eu trato este erro logando com um usuário administrativo com acesso específico para trocar este senha e liberar o usuário, mas por medidas de seguranda os arquitetos do projeto recusaram a ideia pois se alguém conseguisse invadir este código teria acesso á senha deste usuários administrativo já que seria statico no código do programa. =P

bem tendo como comparação o bem dito SQL Plus, que quando o usuário loga estando esperido imediatamente o SQL Plus lhe pede que troque de senha já desbloqueando o usuário, realmente é mais usual desta maneira, porem não vejo como fazer isto usando VB alguém sabe algum meio.

caso não tenha ficado calro eu esplico de outra forma hauahua

to precisando disso urgenteeeeeeeee
brigadão a quem se dispor a mi ajudar :P

IPB Skin By Virteq