- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- SQL Server: Impossibile completare la preparazione rinviata. Connessione occupata nel
-
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?