impossible d'accéder à une table temporaire en présence d'un DbParameter !?
bonjour
(code simplifié pour mettre en évidence le problème)
dans une même connexion, j'exécute 2 requêtes, la première créé une table temporaire #
la 2ème lit cette même table #
(tant que la connexion à sql server n'est pas fermée, une table temporaire reste accessible, enfin en théorie)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
Dim co As New System.Data.SqlClient.SqlConnection
co.ConnectionString = "ma chaine de connexion"
co.Open()
Dim cmd As New System.Data.SqlClient.SqlCommand
cmd.Connection = co
cmd.Parameters.Add("@test", SqlDbType.BigInt).Value = 1 ' ajout d'un parameter
cmd.CommandText = "CREATE TABLE #TOTO (a int)"
cmd.ExecuteNonQuery()
cmd.CommandText = "SELECT * FROM #TOTO"
cmd.ExecuteReader() |
si je n'ajoute pas de parameter aucun soucis
par contre si j'ajoute un parameter à mon sqlcommand, l'executenonquery passe et l'executereader plante
Citation:
SQL Exception : nom d'objet #TOTO non valide
je ne comprends pas en quoi ca plante, je pencherais même pour un bug du framework, je ne vois pas pourquoi à cause d'un parameter ma table # serait supprimée !?
si quelqu'un peut m'expliquer pourquoi ce comportement je suis preneur
merci