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

Firebird Discussion :

problème de socket avec firebird (IBExpert)


Sujet :

Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut problème de socket avec firebird (IBExpert)
    Bonjour,
    Je travaille sous PHP/Firebird
    J'ai développé un script permettant de lancer une procédure stoquée effectuant un select suivi d'une MAJ.

    Puis, afin de tester le bon fonctionnement des transactions, je lance ce script en boucle de façon à vérifier qu'elles passent sans problème.

    Lorsque la page lançant la boucle travaille (donc que les transactions s'effectuent les unes derrières les autres) tout se passe normalement...

    Le souci, c'est que lorsque je lance en parrallèle le script via REST, la page travaillant en boucle perd sa connection et m'affiche : "La connection a été réinitialisé" tandis que REST, lui, soit m'affiche les résultats soit perd aussi la connection au profit d'un : couldn't connect. Et les logs de firebird me donnent:
    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
    DEV-HOUSSEM (Client)	Wed May 05 16:25:32 2010
    	INET/inet_error: connect errno = 10048
     
     
    DEV-HOUSSEM (Client)	Wed May 05 16:25:37 2010
    	INET/inet_error: connect errno = 10048
     
     
    DEV-HOUSSEM (Client)	Wed May 05 16:25:41 2010
    	INET/inet_error: connect errno = 10048
     
     
    DEV-HOUSSEM (Server)	Wed May 05 16:46:08 2010
    	INET/inet_error: read errno = 10054
     
     
    DEV-HOUSSEM (Server)	Wed May 05 16:46:08 2010
    	INET/inet_error: read errno = 10054
    je pense que c'est un problème de socket et je ne sais pas du tout comment arranger ça...
    quequ'un aurait il une idée pleaaaaaaase car je suis sur le point de comettre un meurtre

    Je vous remercie par avance

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    il faudrait que tu nous en dise plus
    comment sont gérée tes connexions, quel firebird est utilisé, sur quel OS , etc ...

  3. #3
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Merci de ta réponse Makowski.
    pour les précisions :
    Je travaille sous firebird 2.1 et sous windows XP...
    et au niveau connexion je ne vois pas quoi te dire... si ce n'est que je me connecte en local à la BDD via ibase_connect...

    voila un exemple de code au niveau de l'envoie de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function ExecuteStoredProcResult( $dbalias, $sql, $commit = true)
    {
       $db = ibase_connect ( $GLOBALS["dbaliases"][$dbalias], "SYSDBA", "masterkey" ) or die ('erreur connexion');
       $trans = ibase_trans( IBASE_WAIT,$db ) or die ('erreur préparation transaction');
       $qr = ibase_prepare( $trans, $sql ) or die ('erreur lancement transaction');
       if( ($rs = ibase_execute($qr)) == false )
         return 'false';
       $row = ibase_fetch_row($rs);
       if (!ibase_commit($trans))
         return 'false';
       return $row[0];
    }
    et le code appelant :
    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
     
          //requete SQL a envoyer au serveur
          WriteInLog('Creation requete');
          $SQL = 'EXECUTE PROCEDURE GET_AUTOMATES_JOB('.$automateId.','.$idTypeJob.', NULL)';
          WriteInLog('Execution proc');
          $Result = ExecuteStoredProcResult( 'JOB', $SQL );
          WriteInLog('Affichage Resultat');
          if($Result == false)
          {
            WriteInLog('OULAAAAAAAAA erreur result');
            return trigger_SpecialError(encodeForXML('Aucune info pour ces param�tres '),204);
          }
          $SQL = 'SELECT * FROM JOBS WHERE UID='.$Result;
          $Result = OpenQuery( 'JOB', $SQL );
          $JobTypeXml =$this -> __CreateJobXml($Result, $JobTypeXML, $automate_Id);//construction du JOBXML
          if($JobTypeXML==false)
             return trigger_SpecialError(encodeForXML('Aucun info pour ce job. veuillez vérifiez les paramètres '),204);
          AddPubwanRestHeader($automateId, -1, true);
          CloseQuery($Result);//liberation de la requete
          Return True;

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    franchement je ne vois pas,
    pourquoi ne pas poser ta question en anglais dans la liste php firebird ?

    http://www.firebirdsql.org/index.php?op=lists

  5. #5
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    Tout simplement parce que je ne connaissais pas
    Merci beaucoup je vais y jeter un coup d'oeil de ce pas!!!

  6. #6
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 105
    Par défaut
    En fait si, j'y ai déjà été... mais je n'y ai pas trouvé de réponse
    le problème qui se pose, c'est que je dois donner la possibiliter au client de lancer le script plusieurs fois au même moment...
    Mais ce que je comprend de firebird, c'est qu'apparament comme les connexions se font via le même port (ou le même socket) alors ça plante (INET Error 10048)...je ne vois pas comment contourner le problème...

Discussions similaires

  1. Problème de socket avec WinCE
    Par midou256 dans le forum C++/CLI
    Réponses: 2
    Dernier message: 01/12/2011, 11h14
  2. Réponses: 4
    Dernier message: 28/03/2010, 18h53
  3. Problème de socket avec le debogeur VS
    Par Math28 dans le forum Windows Mobile
    Réponses: 4
    Dernier message: 10/12/2007, 13h52
  4. Problème d'utisateur avec Firebird
    Par dj.motte dans le forum SQL
    Réponses: 2
    Dernier message: 24/11/2007, 15h33
  5. Problême de Socket avec un applet java (RMI/policy)
    Par Vesperal dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 12/04/2006, 12h00

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