IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

SQLSRV et MultipleActiveResultSets


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 46
    Points : 28
    Points
    28
    Par défaut SQLSRV et MultipleActiveResultSets
    Bonjour,
    suite à la suppression de la fonction mssql avec PHP 5.3, je m'amuse a refaire tout mon code grâce aux drivers SQLSRV. j'ai donc refait mon code ainsi :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    $servername = "SERAPP";
    $user = "sa";
    $pass = "xxx";
    $data = "suivheure";
    $connectionInfo = array("UID" => $user, "PWD" => $pass, "Database" => $data, 'MultipleActiveResultSets'=> true);
    $connect = sqlsrv_connect( $servername, $connectionInfo);
    $requetesql = "SELECT max(Date) AS Date, Visa FROM [suivheure].[dbo].[EvenementUtils] WHERE IDMachine='".$Machine."' AND IDEvenement = '15' GROUP BY Visa";
    $resultatsql = sqlsrv_query($connect ,$requetesql);
    while ($ligne = sqlsrv_fetch_array($resultatsql)){
      $VisaDernierUtils = $ligne['Visa'];
      echo $ligne['Visa'];
      $DateDernierUtils = $ligne['Date'];
      $requetesql2 = "SELECT max(Date) AS Date FROM [suivheure].[dbo].[EvenementUtils] WHERE IDMachine='".$Machine."' AND IDEvenement = '16' And Visa = '".$VisaDernierUtils."'";
      $resultatsql2 = sqlsrv_query($connect, $requetesql2);
      if ($resultatsql2 == false){
        $DateDernierUtilsDéco = 0;
        echo "resultatsql2 = false<br>";
      }
      else{
        $ligne2 = sqlsrv_fetch_array($resultatsql2);
        echo "resultatsql2 != false <br>";
        $DateDernierUtilsDéco = $ligne2['Date'];
      }
      if ($DateDernierUtils > $DateDernierUtilsDéco){
        $requetesql3 = "SELECT Interim, MOI FROM [suivheure].[dbo].[EvenementUtils] WHERE IDMachine='".$Machine."' AND IDEvenement = '15' And Visa = '".$VisaDernierUtils."'";
        echo $requetesql3."<br>";
        if( sqlsrv_query( $connect, $requetesql3))
        {
           echo "Statement executed.\n";
           echo "resultatsql3 != false<br>";
           $ligne3 = sqlsrv_fetch_array($resultatsql3);
        }
        if ($ligne3['Interim'] == true){
            $ListeOperat[]=$VisaDernierUtils." (Intérimaire)";
        }
        elseif ($ligne3['MOI'] == true){
            $ListeOperat[]=$VisaDernierUtils." (MOI)";
        }
        else{
          $ListeOperat[] = $VisaDernierUtils;
        }
      } 
      else
      {
        echo "resultatsql3 = false<br>";
        echo "Error in statement execution.\n";
        $DateDernierUtilsDéco = 0;
        die( print_r( sqlsrv_errors(), true));
      }
    }
    Comme vous le constatez, j'ai une requêtes multiple, ce qui ne posait aucun problème avec mssql. depuis SQLSRV, j'ai cet erreur :
    "Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -44 [code] => -44 [2] => The connection cannot process this operation because there is a statement with pending results. To make the connection available for other queries, either fetch all results or cancel or free the statement. For more information, see the product documentation about the MultipleActiveResultSets connection option."
    j'ai donc cherché les info concernant le MultipleActiveResultSets, j'ai vu qu'il était pas actif par défaut, ce qui explique que j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "'MultipleActiveResultSets'=> true"
    dans mon
    .
    Malgré ça, mon erreur est toujours présente. quelqu'un aurait une solution, ou quelque chose pour me guider?
    Merci!

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Points : 15
    Points
    15
    Par défaut Même problème
    Bonjour,
    je me permets de relancer ce vieux sujet puisque j'ai le même problème que Zimeau et que je ne trouve aucune réponse sur n'importe quel site.
    A tout hasard, si vous avez trouvé une solution, je vous serais reconnaissant que vous m'en fassiez part

    Merci d'avance

Discussions similaires

  1. plusieurs requêtes dans un tableau SQLSRV 2005
    Par grping dans le forum Développement
    Réponses: 8
    Dernier message: 01/12/2009, 17h00
  2. Réponses: 3
    Dernier message: 28/05/2009, 20h55
  3. MDSE2000 -> SQLSRV Express Edition
    Par tigrou2405 dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 18/06/2008, 18h59
  4. [SqlSrv 2K] Index sur DateTime
    Par yinyang dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/06/2006, 16h03
  5. Probleme d'insertion dans SQLSrv lors d'un traitement massif
    Par Bradarys dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/12/2005, 12h27

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