Bonjour,

But du Jeu :
via un lien ODBC "Test", exécuter une procédure stockée SQL Serveur, ou une requête Access (a terme n'importe quelle Bdd).

Soucis :
Cela fonctionnait avec ADO, là cela plante avec ADO .net et Access. Fonctionne avec SQl Serveur.

Le code :
Une Bdd Access Test.mdb, une Table "Table", 2 ou 3 champs mais surtout un ID Clé primaire, une requête "sp_Procedure"
Idem sous SQl Serveur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Public Function LireProc() As DataSet
 
Dim strChaineConnect As String = "DSN=Test; User Id=; Password=;"
Dim conDSN As New Odbc.OdbcConnection(strChaineConnect)
Dim cmdODBC As New Odbc.OdbcCommand("sp_Procedure")
cmdODBC.CommandType = CommandType.StoredProcedure
Dim adaptateurODBC As New Odbc.OdbcDataAdapter(cmdODBC.CommandText, conDSN)
 
Dim datasetODBC As New DataSet
 
adaptateurODBC.Fill(datasetODBC , "Table")
''C'est ici que cela plante avec Access
 
Return datasetODBC
 
datasetODBC = Nothing
adaptateurODBC = Nothing
commandeODBC = Nothing
 
End Function
L'erreur :
ERROR [42000] [Microsoft][Pilote ODBC Microsoft Access] Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE' attendus.
Remarque :
Cela focntionne très bien si l'on remplace la procédure stockée par la requête "Select * From Table" par exemple.