Bonjour à tous,
Ceci est mon premier post.
Je suis administrateur dans le service public.
Je pense avoir un soucis de passage de paramètre.
Voici le code actuel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Sub test_procedure_stocker_3(pIp_Serveur, pDB_Name, pDB_Username, pDB_PASS)
Dim Cmd As ADODB.Command
Dim Prm1 As ADODB.Parameter
Set objMyConn = New ADODB.Connection
objMyConn.CommandTimeout = 0
objMyConn.ConnectionString = "DRIVER={MySQL ODBC 5.3 Unicode Driver};" & _
"SERVER=" & pIp_Serveur & ";" & _
"DATABASE=" & pDB_Name & ";" & _
"USER=" & pDB_Username & ";" & _
"PASSWORD=" & pDB_PASS & ";"
objMyConn.Open
Set objMyRecordset = New ADODB.Recordset
Set Cmd = New ADODB.Command
Cmd.ActiveConnection = objMyConn
Cmd.CommandType = adCmdStoredProc
Cmd.CommandText = "getIpAndUserFromMac"
Set Prm1 = Cmd.CreateParameter("p0", adVarWChar, adParamInput, 255)
Prm1.Value = "80:fa:5b:28:7f:7e"
Cmd.Parameters.Append Prm1
Cmd.Execute
objMyRecordset.Open Cmd
Set Cmd = Nothing
Set objMyRecordset = Nothing
Set Prm1 = Nothing
Set Prm2 = Nothing
End Sub |
J'ai commencé par la même commande exécutée sur mysql :
SET @p0='80:fa:5b:28:7f:7e'; CALL getIpAndUserFromMac(@p0);
Qui fonctionne.
Avec :
SQLCmd.CommandType = adCmdText
Ce qui me renvoyait une erreur d'utilisation, ce qui a conduit au code ci dessus.
J'ai maintenant aucune erreur cependant je n'ai pas d'enregistrement.
Avec les espions je vois que les champs retournés sont bon mais sans valeur.
J'ai aussi changé de version du pilote odbc de 8.00.27 à 5.03.13.00 mais rien.
Auriez vous une piste ?
Merci d'avance pour vôtre aide !
Dimdim
Partager