| 12
 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";
?> | 
Partager