none
Errore su transazioni e stored procedure RRS feed

  • Domanda

  • Non riesco a venirne a capo, ho creato una stored procedure che fa delle cose, inizia poi una transazione durante la quale viene chiamata un'altra stored procedure, che anch'essa contiene una transazione.

    Quando chiamo la stored procedure da .net ho il seguente messaggio d'errore:

    Il numero delle transazioni dopo l'esecuzione di EXECUTE indica un numero di istruzioni BEGIN e COMMIT non corrispondente. Numero di transazioni precedente: 1, numero di transazioni corrente: 2.
    Il numero delle transazioni dopo l'esecuzione di EXECUTE indica un numero di istruzioni BEGIN e COMMIT non corrispondente. Numero di transazioni precedente: 0, numero di transazioni corrente: 1.

    io vi assicuro che i begin transaction e commit transaction corrispondono, anche perchè c'è una sola transazione nella prima stored e un'altra nella seconda.

    Lo scenario che si presenta è questo:

    stored procedure1
    begin
    --fa un po di cose
    begin transaction
    --fa delle cose
    --chiamata ad altra stored procedure
    exec miaVariabile = storedProcedure2 --è simile alla prima come sintassi

    if @@error = 0 commit transaction else rollback transaction

    end
    martedì 23 febbraio 2010 13:54

Risposte

  • come non detto ho risolto. avevo commesso sulla gestione di un cursore nella seconda stored..sono stato tratto in inganno invece dal tipo di errore segnalatomi..grazie lo stesso
    • Contrassegnato come risposta Anca Popa giovedì 2 dicembre 2010 19:51
    martedì 23 febbraio 2010 17:41