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

Responder a