Procédure stockée avec des dates : Error 37000
Bonjour
Je rencontre un problème pour lancer une procédure stockée SQL Server 2005, comportant une variable date et une datetime, depuis du PHP.
Mon code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
// Connexion au serveur TVM (SQL Serveur) :
$username="xxxxxx"; // Représente le user sur la base
$password="xxxxxx"; // Représente le password
$bd="xxx"; // Représente le nom du driver ODBC pour SQL Server
$server="xx.xxx.xxx.xxx";
$connexionTVM = odbc_connect("Driver={SQL Server};Server=$server;Database=$bd;",$username,$password);
$a = 'A';
$b = 'KH001M';
$c = '"10/17/12"';
$d = '"10/17/12 06:30:00 AM"';
$e = 'GVA';
$f = '';
$g = '';
$h = '';
$stmt = odbc_prepare($connexionTVM, "{CALL My.Procedure($a, $b, $c, $d, $e, $f, $g, $h)}");
$res = odbc_execute($stmt, array()) or die("<B>Error!</B> Couldn't Run Query: Error Code: ".odbc_error()); |
La connexion n'est pas le problème. J'utilise déjà la même forme de code pour lancer d'autres procédures stockées sur le même serveur, mais qui n'ont accessoirement pas de date/datetime dans les paramètres.
L'erreur Odbc que j'ai : 37000 (via mon odbc_error())
J'ai déjà essayé plusieurs format de date, dont unix et yyyy-mm-dd hh:ii. J'ai rajouté un double guillemet car sinon j'ai l'erreur 37000 qui me pointe une erreur de syntaxe soit au niveau des "/" soit des "-" (Warning: odbc_execute(): SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers '/'., SQL state 37000 in SQLExecute in blabla on line 28 --> erreur donnée sans le odbc_error())
Auriez-vous une idée sur ce qui bloque le lancement de la procédure ?
Merci pour votre aide
Flacdo