|
Ol�,
Estou com um problema...
Gostaria de saber se algu�m sabe por que d� este
erro:
Number : 20055
Microsoft SQL Server:9[Microsoft][ODBC SQL Server
Driver]Protocol error in TDS stream
Na hora da execu��o da Procedure ele retorna a
mensagem ...comando n�o retornou dados...
Quando vou verificar o resultado da
Procedure ele me retorna ...Conex�o Quebrada... , mas isso acontece em apenas um
caso...
que � seguinte....
O Select armazena o valor Total de
Custeio...
no where estou comparando o m�s com valor que
tenho armazenado na vari�vel VG.MesID = @nMesUltGasto...
isso me retorna conex�o quebrada, se ao inv�s de eu pegar o valor da vari�vel e
definir um valor... a execu��o � feita sem problemas.... outro caso tamb�m que
n�o d� problemas � quando fa�o a soma direto no case... s� que eu n�o posso
fazer isso pois antes de somar tenho que trocar os valores negativos por
zero para depois somar... mas assim me retorna valor, mesmo que no where esteja
fazendo a mesma compara��o VG.MesID = @nMesUltGasto...
Estou usando Sql Server 6.5... Algu�m sabe se a
restri��es a quantidades de variav�is... ou o que pode estar ocasionando
isto???
Esse � o Select que fa�o a
soma depois de ter feito a compara��o no Case....
SELECT
@nTotalCusteio=
SUM(nTotalCusteio)
FROM (SELECT nTotalCusteio = CASE WHEN CONVERT( NUMERIC(16,2),COALESCE( ( VG.VerbaGastaMoeda ) , 0 )) <= 0 THEN 0 ELSE CONVERT( NUMERIC(16,2),COALESCE( ( VG.VerbaGastaMoeda ) , 0 )) END FROM
CTOR_Contas Ct, CTOR_VerbaGasta VG, CTOR_PlanoContas PC, CTOR_CentroCusto CC, CTOR_ExercicioAno EA WHERE Ct.RazaoID IN ('05-01','05-02') AND Ct.ContaID = PC.ContaID AND PC.RazaoID = Ct.RazaoID AND EA.AnoExercicio = @sAno AND EA.ContaNro = PC.ContaNro AND VG.VerbaGastaAno =* EA.AnoExercicio AND VG.ContaNro =* EA.ContaNro AND VG.ContaNro =* PC.ContaNro AND VG.MesID = @nMesUltGasto AND CC.EmpresaID = PC.EmpresaID AND CC.CentroID = PC.CentroID AND CC.CentroGrupo != 0 ) AS A ------------------------------------------------------------------------------------------------------------------
Esse � o Select que fa�o a soma no
pr�prio Case....
SELECT
@nTotalCusteio = CASE WHEN CONVERT( NUMERIC(16,2),COALESCE( SUM( VG.VerbaGastaMoeda ) , 0 )) <= 0 THEN 0 ELSE CONVERT( NUMERIC(16,2),COALESCE( SUM( VG.VerbaGastaMoeda ) , 0 )) END FROM
CTOR_Contas Ct, CTOR_VerbaGasta VG, CTOR_PlanoContas PC, CTOR_CentroCusto CC, CTOR_ExercicioAno EA WHERE Ct.RazaoID IN ('05-01','05-02') AND Ct.ContaID = PC.ContaID AND PC.RazaoID = Ct.RazaoID AND EA.AnoExercicio = @sAno AND EA.ContaNro = PC.ContaNro AND VG.VerbaGastaAno =* EA.AnoExercicio AND VG.ContaNro =* EA.ContaNro AND VG.ContaNro =* PC.ContaNro AND VG.MesID = @nMesUltGasto AND CC.EmpresaID = PC.EmpresaID AND CC.CentroID = PC.CentroID AND CC.CentroGrupo != 0 Agrade�o desde j�,
Simone Haro |
