1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    avril 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2012
    Messages : 15
    Points : 10
    Points
    10

    Par défaut 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 : 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
     
    // 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
      0  0

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    avril 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2012
    Messages : 15
    Points : 10
    Points
    10

    Par défaut

    Précision sur l'erreur affichée :
    37000 [ODBC SQL Server Driver]Valeur de caractère non valide pour la spécification de la casse

    J'ai essayé de passer les dates avec strtotime, en utilisant le format affiché dans SQLServer (mm/j/yyyy hh:ii:ss AM), avec doubles guillemets, simples guillemets... je suis vraiment à court d'idée :/
      0  0

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    26 622
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 26 622
    Points : 39 464
    Points
    39 464

    Par défaut

    C'est plutôt des guillemets simples donc et en mettant l'année en entier :
    Est-ce que tu as un résultat différent en mettant 10/17/2012 et 17/10/2012 ?
    Si le résultat est le même, le problème ne se situe peut être pas au niveau de ce paramètre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
      0  0

Discussions similaires

  1. Procédure stockée avec des tables temporaires
    Par enamorada dans le forum SSRS
    Réponses: 0
    Dernier message: 01/09/2012, 15h56
  2. [.NET-C#] Procédure stockée retournant des recordset avec ORAOLEDB
    Par catd dans le forum Interfaces de programmation
    Réponses: 0
    Dernier message: 06/07/2011, 22h09
  3. Tester des procédures stockées avec SqlUnit et ANT
    Par olivier_m dans le forum Débuter
    Réponses: 3
    Dernier message: 08/11/2009, 13h00
  4. Procédure stockée avec @@rowcount et @@error
    Par karine.cornut dans le forum Développement
    Réponses: 4
    Dernier message: 22/09/2008, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo