- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- SQL Server: Impossibile completare la preparazione rinviata. Connessione occupata nel
-
SQL Server: Impossibile completare la preparazione rinviata. Connessione occupata nel
Cia a tutti.
Ho sviluppato un'applicazione web asp.net con connessione ad un db sql server e ad un db oracle. Durante una qualsiasi select ottengo un'eccezione la cui descrizione è la seguente:
*Impossibile completare la preparazione rinviata. Connessione occupata nell'invio dei risultati di un altro comando
*Non ho idea da cosa possa dipendere. Ho però notato che accade solo su db SQL Server e non su db Oracle.
Grazie.
-
Non hai un codice dell'errore o altro per identificarlo? o magari l'errore in inglese che si trova meglio. Comunque non mi è mai capitato, mi spiace.
-
L'errore in inglese è:
Connection is busy with results for another commandGrazie
-
Vedi qui intanto. Su internet non trovi niente?
-
No, su internet non ho trovato niente di utile. Ho però notato che l'eccezione viene sollevata durante una serie di select. E' possibile quindi che l'errore sia dovuto proprio al fatto che le select vengano chiamate una dopo l'altra?
-
Posta un pò di codice e vediamo
-
Riporto qui di seguito il contenuto della procedura che viene eseguita per ogni tabella del database. L'eccezione viene sollevata durante una delle tante chiamate a FillSchema
*Dim DataAdapter As New OleDb.OleDbDataAdapter("SELECT TOP 0 * FROM " + TableName, DatabaseConnection)
Dim Table As New DataTable
TableHasAutoIncrementFields = False
DataAdapter.FillSchema(Table, SchemaType.Source)
For Each Column As DataColumn In Table.Columns
If Column.AutoIncrement = True Then
TableHasAutoIncrementFields = True
Exit For
End If
Next*Grazie
-
Perchè fai top 0, visto che non seleziona nessuna riga?
-
Faccio TOP 0 perché non mi interessa selezionare alcuna riga. Il fine di questa procedura è solo quello di accedere alla struttura della tabella corrente e verificare la presenza di campi con il flag AutoIncrement a True
-
capisco. Ma se si ferma su filschema il problema dovrebbe darlo qualche riga di codice prima, che c'è prima?
-
Prima non c'è niente di particolare; c'è solo un ciclo che non fa altro che chiamare la procedura per ogni tabella del database.
-
Provato a chiudere e riaprire la connessione?