Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    mars 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 33
    Points : 3
    Points
    3

    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 :
    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 :
    "'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
    Invité régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    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 : 6
    Points
    6

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •