Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Rue-Montgallet.com
  Programmation
  Php - Sql

  [PHP][ORACLE] Transfère du contenu d'un champs LONG RAW vers un autre

Bas de page
Auteur Sujet :

[PHP][ORACLE] Transfère du contenu d'un champs LONG RAW vers un autre

n°8457
bchristo
Profil : Jeune recrue
Posté le 28-05-2004 à 16:08:40  
 

Bonjour ...  
 
Je travail actuellement sur une base oracle qui contient un champs LONG RAW. Ce champs contient des fichiers quelconques (text, image, son ... etc etc) et lorsqu'on fais un SELECT dessus, on obtient les données brutes du fichier : plein de caractères ascii du style "ÐÏࡱá".
 
Je souhaiterais, à l'aide d'un script PHP, pouvoir copier le contenu de ce champs, vers un champs LONG RAW d'une autre base de donnée ...
 
j'arrive fort bien à copier une chaine prédéfinie de petite taille, "ÐÏࡱá" par exemple :
 
<?php
 $cnx = OCILogon("tracker", "pvcs","p84a03" );  
 
 $chaine = "ÐÏࡱá";
 
 $tmp = bin2hex($chaine);
 
 $query = "UPDATE archive_oscar.trkfile SET filecont = :tmp WHERE fileid = '1'";  
 
 $stmt = OCIParse($cnx,$query);
 OCIBindByName($stmt, ":tmp", $tmp, -1);  
 OCIExecute($stmt);  
?>
 
Quand je fais un SELECT sur le champs mis à jour, j'obtient bien "ÐÏࡱá" ... bingo ;))  
 
J'arrive également à récupérer le contenu entier d'un LONG RAW contenant un gros fichier, dans une variable php ! RE bingo :)) Par contre impossible de réinjecter cette variable temporaire dans un autre champs LONG RAW par un update :
 
<?php
 
 $cnx = OCILogon("tracker", "pvcs","p84a03" );  
 
 $query = "SELECT filecont AS test FROM sigp.trkfile@pont where fileid = '1'";  
 $stmt = OCIParse($cnx,$query);  
 OCIExecute($stmt);  
 OCIFetch($stmt);  
 
 $tmp = bin2hex(ociResult($stmt, "TEST" ));
 
 $query = "UPDATE archive_oscar.trkfile SET filecont = :tmp WHERE fileid = '1'";  
 //echo("<br /><b>Requête passée au long raw .......:</b> $query<br />" );
 $stmt = OCIParse($cnx,$query);
 OCIBindByName($stmt, ":tmp", $tmp, -1);  
 OCIExecute($stmt);  
 
?>
 
Ce script récupére bien l'information à copier mais aucune injection n'est réalisée ... l'UC est utilisée à 100%, le pc est près à exploser et Internet Explorer plante rapidement :-((  ... Visiblement trop d'information à insérer ...
 
Quelqu'un peut-il m'aider sur ce problème ?!  
 
merci @++

mood
Pub
Posté le 28-05-2004 à 16:08:40  
 

  FORUM Rue-Montgallet.com
  Programmation
  Php - Sql

  [PHP][ORACLE] Transfère du contenu d'un champs LONG RAW vers un autre

© 2000-2024 Forum.rue-montgallet.com - Tous droits réservés