oci_new_descriptor

(PHP 5)

oci_new_descriptor -- Initialise un nouveau pointeur vide de LOB/FILE Oracle

Description

OCI-Lob oci_new_descriptor ( resource connection [, int type] )

oci_new_descriptor() alloue l'espace nécessaire pour stocker un descripteur, ou un pointeur de LOB, pour la connexion connection. Les valeurs acceptées pour type sont : OCI_D_FILE, OCI_D_LOB et OCI_D_ROWID

Exemple 1. Exemple avec oci_new_descriptor()

<?php 
/* Ce script est fait pour être appelé dans un formulaire HTML
 * Il attends les variables $user, $password, $table, $where, et $commitsize
 * Le script efface alors les lignes sélectionnées avec ROWID et valide
 * l'effacement après chaque groupe de $commitsize lignes.
 * (Utilisez avec prudence, car il n'y a pas d'annulation possible).
 */
$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "select rowid from $table $where");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid); 
oci_execute($stmt);
while (
oci_fetch($stmt)) {
 
$nrows = oci_num_rows($stmt);
 
$delete = oci_parse($conn, "delete from $table where ROWID = :rid");
 
oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
 
oci_execute($delete);     
  echo
"$nrows\n";
  if ((
$nrows % $commitsize) == 0) {
  
oci_commit($conn);     
  } 
}
$nrows = oci_num_rows($stmt); 
echo
"$nrows deleted...\n";
oci_free_statement($stmt); 
oci_close($conn);
?>
<?php
/* Ce script illustre le chargement de LOB
 * Le formulaire utilisé dans cet exemple ressemble à ceci :
 * <form action="upload.php" method="post" enctype="multipart/form-data">
 * <input type="file" name="lob_upload" />
 * ...
 */
if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Fichier téléchargé : <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
 
} else {

 
// $lob_upload contient le fichier temporaire

  // Reportez-vous à la section sur le téléchargement de fichiers
  // pour sécuriser vos téléchargements
    
 
$conn = oci_connect($user, $password);
 
$lob = oci_new_descriptor($conn, OCI_D_LOB);
 
$stmt = oci_parse($conn, "insert into $table (id, the_blob)
               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob"
);
 
oci_bind_by_name($stmt, ':the_blob', $lob, -1, OCI_B_BLOB);
 
oci_execute($stmt, OCI_DEFAULT);
  if (
$lob->savefile($lob_upload)){
  
oci_commit($conn);
   echo
"BLOB chargé !\n";
  }else{
   echo
"Impossible de charger le BLOB\n";
  }
 
oci_free_descriptor($lob);
 
oci_free_statement($stmt);
 
oci_close($conn);
}
?>

Exemple 2. Exemple avec oci_new_descriptor()

<?php 
/* Appel d'une procédure PL/SQL stockée qui prend un clobs
 * en entrée (PHP 4 >= 4.0.6).
 * Exemple de signateure de procédure stockée PL/SQL :
 *
 * PROCEDURE save_data
 *  Argument Name                  Type                    In/Out Default?
 *  ------------------------------ ----------------------- ------ --------
 *  KEY                            NUMBER(38)              IN
 *  DATA                          CLOB                    IN
 *
 */

$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stmt, ':key', $key);
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
$clob->write($data);
oci_execute($stmt, OCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

oci_new_descriptor() retourne FALSE en cas d'erreur.

Note : Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocinewdescriptor(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_new_descriptor(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.



Rechercher une fonction PHP

Avertissement : Erreurs sur le site de l'infobrol

Sommaire du document

La base de données est temporairement indisponible

Le site rencontre momentanément quelques problèmes...

La base de données est temporairement indisponible (), ce qui explique que de nombreuses fonctions ne soient temporairement pas accessibles (par exemple les liens de navigation, les sommaires, etc.) et que l'affichage des pages soit beaucoup plus lent.

Veuillez réessayer dans quelques minutes (les tests automatiques sont effectués toutes les 15 minutes).

Je vous présente mes excuses pour le désagrément que cela engendre.

Steph.

 

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Références

  1. Consulter le document html Langue du document: fr Manuel PHP : http://be2.php.net, oci_new_descriptor

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-5139
Document créé le 01/01/70 &am12Thu, 01 Jan 1970 00:00:00 +0000amvUTC; 00:00, dernière modification le Vendredi 17 Juin 2011, 10:12
Source du document imprimé : http://www.gaudry.be/ Document affiché 0 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (afficher)

La gestion des membres est momentanement desactivee pour des raisons de maintenance.

Navigation (masquer)
Apparence (afficher)
Stats (afficher)
867 documents
astuces.
niouzes.
definitions.
membres.
2290 messages.

Document genere en :
0,12 seconde
Citation (masquer)
 
l'infobrol
Nous sommes le Samedi 02 Juin 2012, 22:56, toutes les heures sont au format GMTs