24 messaggi dal 12 novembre 2014
Ciao
vi espongo il mio problema per avere il vostro aiuto su SQL Server 2014 Express

in una stored procedure imposto il seguente coursore
set @dbcursor = CURSOR  FOR select name from sys.databases where name LIKE 'AAA-%' 


poi eseguo un ciclo sui database trovati sui quali faccio alcune query

OPEN @dbcursor

FETCH NEXT FROM @dbcursor INTO @db
WHILE @@FETCH_STATUS = 0
BEGIN

...

FETCH NEXT FROM @dbcursor INTO @db
END


il problema che ho è questo
alla prima esecuzione della SP il cliclo recupera solo su alcuni db
dalla seconda esecuzione in poi recupera anche tutti gli altri
Modificato da stefano.l il 28 marzo 2019 23:12 -
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
sto cercando "riscontro" ma non ne trovo... stavo pensando che, ad esempio, SQLExpress ha per impostazione predefinita l'opzione "autoclose" per i database, e quindi, "a sua discrezione", il Database Engine puo' chiudere i db e rilasciarne gli handle, quindi potrebbe NON eseguire il fetch come richiesto.... ma di questo non ho trovato riscontro da nessuna parte...
quindi, non mi viene in mente niente altro di intelligente :D

poi sarebbe da valutare perche' usi un cursore :D:D
saluti
Modificato da Andrea Montanari il 31 marzo 2019 00:03 -

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.