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 :

Insertion d'un fichier dans une base oracle 8i via ODBC


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Insertion d'un fichier dans une base oracle 8i via ODBC
    Bonjour,

    J'ai un petit code qui marche avec PHP en CGI sous Apache mais pas en mode module ...

    Selon le driver utilisé, j'ai 52 ou 0 octet de stockée dans la base.
    Si je suis en mode CGI j'ai bien l'image en entier....

    Problème de configuration ?

    Si quelqu'un a une idée ....

    Merci

    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
     
    <?php
       /**
       CREATE TABLE TESTERIC.UPLOAD(
       FICHIER  VARCHAR2(50),
       CONTENT  BLOB)
       */
       /**
       * Test d'upload dans une table oracle via ODBC et PHP en module
       */
          $conf['DB_dsn'] = 'DRIVER=ORACLE ODBC DRIVER;DBQ=BDDEV8I2;SERVER=BDDEV8I2;';
    //      $conf['DB_dsn'] = 'DRIVER={Microsoft ODBC for Oracle};SERVER=BDDEV8I2;';
          $conf['DB_user'] = 'TESTERIC';
          $conf['DB_pwd'] = 'TESTERIC';
          $file = 'D:\DocumentsEric\Mes images\JamesDean.jpg';
          $fsize = filesize($file)+10;  //le +10 des fois que... mais sert a rien
          ini_set('odbc.defaultlrl',$fsize);  //sert à rien
          ini_set('odbc.defaultbinmode',ODBC_BINMODE_PASSTHRU); //sert à rien
          //$file = 'D:\DocumentsEric\lorem.txt';
     
          //utilisation des fonctions direct ODBC
          $db = odbc_connect($conf['DB_dsn'],$conf['DB_user'],$conf['DB_pwd']);
          if($db===false){
             die("ERREUR : odbc_connect<br/>\n");
          }
    //      odbc_autocommit($db,false);//begintrans
     
          $f = date('d/m/Y H:i:s');
          $sql = 'INSERT INTO UPLOAD (FICHIER) VALUES(\''.$f.'\')';
          echo "$sql<br />";
          $rs = odbc_exec($db, $sql);
          if($rs===false){
             $error = 'INSERT :'."\n";
             echo "$error<br/>\n";
          }else{
             $i = odbc_num_rows($rs);
             echo "INSERT : ".$i." lignes affectée<br/>\n";
          }
          echo odbc_errormsg($db)."</br>\n";
     
          //prepare
          $sql = "UPDATE UPLOAD SET CONTENT = ? WHERE FICHIER = '$f' ";
          echo "$sql<br />";
          $prep_id = odbc_prepare($db, $sql);
          echo odbc_errormsg($db)."</br>\n";
          if(!$prep_id) echo "PREPARE: erreur<br/>\n";
          echo odbc_errormsg($db)."</br>\n";
     
          odbc_execute($prep_id,array("'".$file."'"));
          echo odbc_errormsg($db)."</br>\n";
          if(!$rs){
             $error = 'UPDATE: erreur $rs='.print_r($rs,true)."\n";
             echo "$error<br/>\n";
             echo odbc_errormsg($db)."</br>\n";
          }else{
             echo "UPDATE: ok<br/>\n";
             echo odbc_errormsg($db)."</br>\n";
          }
          odbc_close($db);
     
          //commit
    //      if(!odbc_commit($db)) echo "COMMIT: erreur</br/>\n";
    ?>

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Salut,

    Comme je n'ai pas trouvé comment faire...je suis passé par OLEDB en utilisant l'API COM. La ça marche...

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/07/2008, 21h42
  2. ASP - Insertion fichier dans une BD Oracle
    Par toxycyty dans le forum ASP
    Réponses: 4
    Dernier message: 02/07/2008, 23h59
  3. Probleme d'insertion dans une base oracle
    Par FstDsi dans le forum JDBC
    Réponses: 7
    Dernier message: 26/05/2008, 13h01
  4. [PDO] insertion de fichier dans une base
    Par artotal dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/04/2008, 21h45
  5. Insertion des fichiers pdf dans une base oracle
    Par arezki76 dans le forum SQL
    Réponses: 2
    Dernier message: 20/07/2007, 17h39

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