Davis 0 Denunciar post Postado Maio 6, 2007 Esses dias eu precisei fazer um relatório gigante e para isso eu fiz uma Stored Procedure igualmente gigante. Como meu conhecimento de SQL é pouco eu tive que fazer uma gambiarra que funciona mais ou menos. Explico... Eu tinha que fazer um relatório anual sendo que o usuário definiria de quando ele gostaria de ver o relatório. Assumindo que o usuário entrasse com a data de hoje (06/05/2007) ele veria o relatório de maio/2007 até junho/2006 (12 meses pra trás). Até aí beleza. A Stored procedure funciona para apenas um mês. Como sempre serão 12 meses eu joguei 12 Gridviews na página e criei uma rotina no ASPX pra jogar os 12 meses dentro da SP e alimentar os grids. E o problema começa aí... Fui fazendo os testes e a query funcionava beleza. O problema começou quando eu joguei a página pra testar no banco de dados do cliente. Só as 2 primeiras grids recebiam todos os valores. As outras só recebiam 2 valores. Tem algo errado pois eu testando o relatório em maio/2007 eu não vejo os valores de março/2007... Mas testando com março/2007 eu tenho valores, mas não tenho de janeiro/2007! http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Alguém tem uma idéia, sugestão, pistola pra que eu possa me matar...? Compartilhar este post Link para o post Compartilhar em outros sites
Júlio Ferreira Neto 0 Denunciar post Postado Maio 6, 2007 Sem você colocar o seu código suspeito fica difícil,você disse que esse problema começou quando passou para o banco do cliente, não seria problema nos dados?no seu banco tudo funcionava ok?coloca seu código aí e a gente pode te ajudar mais. Compartilhar este post Link para o post Compartilhar em outros sites
Davis 0 Denunciar post Postado Maio 7, 2007 Opa! Tá funcionando!Se eu contar acho que ninguém acredita. Eu estava usando um SQLDataSource pra alimentar cada tabela, mas os parâmetros pro SQLDS eram passados via código quando se clicava no botão. Como a query é gigante eu acho que dava timeout quando o BD recebia as 12 queries ao mesmo tempo (via SQLDataSource).O que eu fiz?Mandei as SQLDataSources embora e fiz uma função pra chamar a query. Normal até aí. A diferença é que a página está alimentando uma tabela de cada vez. Creio que seja isso. Todos os valores estão carregando certinho.Sobre o BD do cliente: É um banco gigantesco com milhares de registros e eu tinha que calcular várias coisas. O nosso BD é minúsculo se for comparado a ele, por isso que eu creio que dava uma espécie de timeout no cliente (apesar de não mostrar erro nenhum) e não no nosso.Mas valeu aí pelo interesse!Só digo que foi um erro usar o componente pra tentar acelerar o desenvolvimento. Nem sempre se pode fazer isso... Compartilhar este post Link para o post Compartilhar em outros sites