Righetto, fa�a algumas altera��es no seu c�digo, no seu segundo select ao inv�s de voc� usar SqlFetchRow use SqlFetchNext imagino que voc� s� esta precisando do conte�do da sua variavel into :vsDcrPrd para um posteiror tratamento dentro do seu relat�rio, lembrando de colocar um Return False no mesmo n�vel do seu If SqlFetchNext( shMapGerEtq, vnErroRpt ) se esse � o seu handle principal que controla o fim do relat�rio.
Obs: Tamb�m tive o mesmo problema em um relat�rio, s� que meu segundo select estava no Report_Detail e eu usava o SqlImmediate, como tinha outros relat�rios com as mesmas caracteristicas e n�o apresentavam o erro, verifiquei que o campo que estava trazendo neste select era do tipo Long String, mudei para SqlPrepareAndExecute e funcionou, porque o problema ocorria tamb�m n�o sei. Espero ter ajudado!
-Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]Em nome de Righetto
Enviada em: ter�a-feira, 1 de julho de 2003 19:04
Para: Lista Centura
Assunto: [sqlwin] SAM_ReportFetchNext

Boa tarde...
 
Estou enfretando o seguinte problema, quando tento executar o prepareandexecute dentro do fetchnext ele me retorna o erro 20055 conex�o ocupada com resultado de outro hstmt.
 
Ja tive esse erro (20055) em outras aplica��es e resolvi simplesmente n�o utilizando sqlimmediate e "isolando" os cursores, mas neste caso eu nem utilizo sqlimmediate e os cursores est�o isolados.

N�o estamos conseguindo estabelecer um crit�rio para evitar esse erro, ja mandei algumas mensagens anteriormente para lista e recebi informa��es bastantes �teis, mas eu n�o consegui formar uma id�ia clara do porque do erro e nem como evita-lo, alguma dica?

Obs: Esse erro ocorre quando estou dentro de uma estrutura de relat�rio (SAM_ReportFetchNext), em qualquer outro lugar na aplica��o a utiliza��o de dois cursores endentados funciona perfeitamente.
 
Desde j� agrade�o.
 
Utilizo Centura 1.1 e sqlserver 2000
 
On SAM_Create
            Call SqlConnect( shMapGerEtq )
            Call SqlSetIsolationLevel( shMapGerEtq, 'RL' )
            Call SqlSetParameter( shMapGerEtq, DBP_AUTOCOMMIT, FALSE, '' )
            Call SqlSetParameter( shMapGerEtq, DBP_PRESERVE, TRUE, '' )
            Call SqlSetResultSet( shMapGerEtq, TRUE )
            !
            Call SqlConnect( shAux )
            Call SqlSetIsolationLevel( shAux, 'RL' )
            Call SqlSetParameter( shAux, DBP_AUTOCOMMIT, FALSE, '' )
            Call SqlSetParameter( shAux, DBP_PRESERVE, TRUE, '' )
            Call SqlSetResultSet( shAux, TRUE )
 
On SAM_ReportStart
           Call SqlPrepare( shMapGerEtq, ' comando select '
 
On SAM_ReportFetchInit
           Call SqlExecute( shMapGerEtq )                   
 
On SAM_ReportFetchNext
            If SqlFetchNext( shMapGerEtq, vnErroRpt )
                    Call SqlPrepareAndExecute( shAux, '
                              SELECT
                                        DCRPRD
                               FROM
                                        TABELA056
                               INTO
                                        :vsDcrPrd
                               WHERE
                                        CODPRD =:vnCodPrd ' )
                    !    
                    Call SqlFetchRow( shAux, vnRow, vnErro )
                    !
                    Return TRUE
 

Responder a