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

Interfaces de programmation Oracle Discussion :

Problème avec Oracle (OCI)


Sujet :

Interfaces de programmation Oracle

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Problème avec Oracle (OCI)
    Bonjour, il y a quelques jour je m'ai mis à travailler sur un site web qui devra prendre en entrée un fichier(.txt) présentant des commissions et les persister dans la base de donnée dans une table work afin de génerer ensuite une facture. je suis maintenant au stade d'insertion dans la base de données j'ai oracle 10g auquelle je me connecte avec oci. le problème est que le fichier est uploadé mais c'est censé être parcouru et persisté aprés son upload.la page cible de formulaire se charge infiniment.
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    $extensions_valides = array( 'txt');
     
    //1. strrchr renvoie l'extension avec le point (« . »).
     
    //2. substr(chaine,1) ignore le premier caractère de chaine.
     
    //3. strtolower met l'extension en minuscules.
     
    $extension_upload = strtolower(  substr(  strrchr($_FILES['toupload']['name'], '.')  ,1)  );
     
    if ( in_array($extension_upload,$extensions_valides) && $_FILES['toupload']['error'] <= 0)
    {   echo "upload réussi"."<br/>";
       $fileid = md5(uniqid(rand(), true));
       $nom="uploads/{$fileid}.{$extension_upload}";
       $resultat = move_uploaded_file($_FILES['toupload']['tmp_name'],$nom);
       if($resultat)
       {
           $username="scott";
           $password="tiger1";
           $connexion= oci_connect($username, $password);
            if($connexion) {
              echo "connexion réussie <br/>";
            }
            else
            {
                 exit("connexion echouée");
            }
         echo "déplacement réussi <br/>";
         $lines=file($nom);
        foreach ($lines as $line) {
     
            $tableau=explode(" ",$line);
     
             foreach ($tableau as $element)
             {
                echo "$element <br/>";
             }
             echo "<hr/>";
     
             $query='insert into work(numcommission,datecommission,numclient,nomclient,typeclient,mail,codecommission,montant) values(:numcommiss, :datecommiss, :numclient,:nomclient,:typeclient,:email,:codecommiss,:montant)';
     
          $statement=oci_parse($connexion,$query);
     
          oci_bind_by_name($statement, ':numcommiss', $tableau[0]);
          oci_bind_by_name($statement, ':datecommiss', $tableau[1]);
          oci_bind_by_name($statement, ':numclient', $tableau[2]);
          oci_bind_by_name($statement, ':nomclient', $tableau[3]);
          oci_bind_by_name($statement, ':typeclient', $tableau[4]);
          oci_bind_by_name($statement, ':email', $tableau[5]);
          oci_bind_by_name($statement, ':codecommiss', $tableau[6]);
          oci_bind_by_name($statement, ':montant', $tableau[7]);
          oci_execute($statement);
          oci_free_statement($statement);  
     
     
     
     
       }
     
         oci_close($connexion);
     
    }
    }
    else
    {   if( !in_array($extension_upload,$extensions_valides))
    { echo "veuillez assurer que le fichier à uploader est un .txt";
    }
     
    else
    { echo "erreur lors de transfert de fichier";
    }
    }
    les lignes de fichier(.txt) auront ce layout:

    11221 04/07/2016 8 client1 acheteur uchiha@gmail.com 10 250

    et voici le script que j'utilise pour la création des tables: j'ai la table service qui contient les codes et libellé de commission une table work où je persiste les infos issues de fichier .txt et une table client dans la quelle sera insérée un client s'il n'existe pas déja(j'ai pas encore arriver à cette étape).

    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
     
    drop table work;
    drop table client;
    drop table service;
     
    create table service
    ( code number(2) primary key,
      libelle varchar2(50));
     
    create table client
    ( idclient number(5) primary key,
      nomclient varchar2(50),
      type varchar2(25),
      mail varchar2(100),
      dateajout date);
     
    create table work
    ( numcommission number(5) primary key,
      datecommission date,
      numclient number(5),
      nomclient varchar2(50),
      typeclient varchar2(25),
      mail varchar2(100),
      codecommission number(2),
      montant number(8,3),
      constraint fk_work foreign key(codecommission) references service(code));
    prière de m'aider et merci infiniment

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    j'ai redemarré mon PC et je n'ai plus ce chargement infini mais au lieu de persister toutes les lignes j'ai une erreur nombre invalide et seule la dernière ligne est inséré sachant que toutes les lignes ont la même forme.
    Nom : bandicam 2016-07-03 17-49-02-406.jpg
Affichages : 230
Taille : 211,1 Ko

Discussions similaires

  1. Problème avec Oracle SQL Plus
    Par Golork dans le forum SQL
    Réponses: 1
    Dernier message: 24/07/2007, 15h05
  2. Problème avec Oracle : Assistant Spatial Index Advisor
    Par NeraOne dans le forum Administration
    Réponses: 1
    Dernier message: 11/04/2007, 18h08
  3. Réponses: 2
    Dernier message: 27/02/2007, 09h51
  4. Probléme avec oracle 9i ids
    Par Moez.B dans le forum Oracle
    Réponses: 3
    Dernier message: 06/04/2006, 11h41
  5. [tomcat] [jsp] Problème avec driver OCI pour oracle
    Par nanardcompanie dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 01/07/2004, 09h54

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