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 :

SQLSTATE[HY000] [2002] Une seule utilisation de chaque adresse de socket autorisée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Points : 5
    Points
    5
    Par défaut SQLSTATE[HY000] [2002] Une seule utilisation de chaque adresse de socket autorisée
    Bonjour a tous,

    Je bute depuis deux jours sur un souci (de configuration je pense), et je me tourne vers vous, le web ne m'ayant pas aidé la dessus.

    Je travail sous un amd64, windows xp, avec Wamp Server, et je fait un script PHP qui parse un csv et ensuite effectue un certain nombre de requetes pour remplir une base de données MySQL.

    Voici la connexion en PDO :

    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
    function get_connexion(){
    	$PARAM_hote='127.0.0.1'; // chemin vers le serveur
    	$PARAM_nom_bd='bdd'; // nom de la base de données
    	$PARAM_utilisateur='root'; // nom d'utilisateur pour se connecter
    	$PARAM_mot_passe=''; // mot de passe de l'utilisateur pour se connecter
     
    	try {
    			$connexion = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
    			$connexion->setAttribute  (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
    	}
    	catch(Exception $e)
    	{
    		echo 'Une erreur est survenue lors de la connexion!'. $e->getMessage();
     
            die();
    	}
    	return $connexion;
    }
    J'appel ensuite des requetes tout a fait classiques, qui marchent très bien, dans ce style la :
    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
    //------------------------------------------------------------------------------//
    //*Cherche si le service existe deja dans la base de donnnees
    //------------------------------------------------------------------------------//
     function service_exist_in_db ($id_uf_service) {
    	$conn=get_connexion();
     
    	$query="select count(id_uf) from service where id_uf=$id_uf_service;";
    	//echo $query."\n\n";
    	try 
    	{
    		$req = $conn->query($query)->fetchColumn();
    	}
    	catch ( Exception $e ) {
    		echo "Une erreur est survenue lors de $query";
    	}
    return $req;
    $conn = null;
    }
    Tout se passe bien, jusqu'a ce que je tombe sur cette erreur :

    SQLSTATE[HY000] [2002] Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée.
    Au bout d'environ 4000 requetes... ce qui pour un SGBD, il me semble, n'est pas insurmontable.

    Je suis allé taper dans les fichier de configuration,
    rajouter le port et le socket par defaut pour pdo_mysql dans le php.ini, dans le .conf et dans my.ini... rien n'y fait, la même erreur est soulevée, toujours au meme moment.

    Dans le doute, j'ai splitté mon csv, et la aucun problème pour tout enregistrer... mais bon.

    Quelqu'un aurait-il deja rencontré cette erreur, ou aurait une idée de quel coté il faudrait regarder ?

    En vous remerciant !

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Un petit up pour quelques précisions, les choses avançant j'importe maintenant mes données via une base postgrès, tout se passe bien, et a l'import dans ma base MySQL j'ai de nouveau l'erreur qui s'affiche au bout d'un certain nombre de requête. Le problème devient plus embêtant, puisque maintenant, je ne peux plus séparer mes imports en coupant le csv en deux...

    Help !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Juillet 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2013
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Si jamais quelqu'un tombe sur le même problème, il semblerait enfait que windows ne soit pas capable de gérer plus de 16 connexions par secondes, ou un truc dans le genre.

    J'ai résolu le probleme en passant la connexion PDO en mode persistante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connexion = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe, array(PDO::ATTR_PERSISTENT => true)); // Persistent connection

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/04/2014, 15h54
  2. [PDO] PDO Erreur de connexion ": SQLSTATE[HY000] [2002]"
    Par baffreux dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/04/2014, 16h40
  3. [2.x] sqlstate [hy000] [2002]
    Par m4nev4 dans le forum Symfony
    Réponses: 5
    Dernier message: 26/02/2014, 15h25
  4. [MySQL] Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002]
    Par -Fly- dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/04/2011, 11h18
  5. Réponses: 4
    Dernier message: 26/05/2005, 17h46

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