Inserer un fichier dans oracle (8i et plus)

MarsOran
Inserer un fichier dans oracle (8i et plus)

Bonjour,
Je souhaite insérer un fichier dans oracle dans un champs de type BLOB.
En regardant sur le forum (et sur le net), je trouve une proposition qui est de passer par le BlobDomain ! cette solution ne dit pas comment insérer le fichier une fois transformé en un blobDomain !!
question : ou trouver le package oracle.jbo ? (j'utilise le fameux classe12.jar, qui ne contient pas oracle.jbo... !).
si quelqu'un connait la démarche complète pour insérer le BlobDomaine je suis preneur.
d'ailleurs, je serais aussi preneur pour une autre solution, le but étant d'insérer un fichier dans un champ blob d'Oracle (c'est fou comme je ne trouve pas d'exemples sur le net pour un sujet assez courant à mon sens ).
Merci beaucoup de votre aide.
salut.

willbback
Re: Inserer un fichier dans oracle (8i et plus)

Bonjour,
La solution que je te propose est liée à l'utilisation du package ojdbc14.jar car nous utilisons une version 9i d'Oracle.
L'opération se fait en 3 étapes chez nous :

    _ insertion dans la base d'un champ blob vide pour réserver l'espace _ récupération d'un pointeur sur l'enregistrement
    _ insertion du contenu du blob
try {
  Connection conn =ConnexionManager.getInstance().reserverConnexion();
  Statement s1 = conn.createStatement();
  ResultSet rs = null;
  //     Etape 1 : création de la ligne et matérialisation du pointeur sur le blob
  s1.execute("INSERT INTO TABLE_BLOG ( id,champ_blog ) values ( 1,EMPTY_BLOB())");
  //     Etape2 : récupération du pointeur sur le blob
  rs = s1.executeQuery("SELECT champ_blog FROM TABLE_BLOG where id= 1 FOR UPDATE");
  if (rs.next()) {
      BLOB l_blob = (BLOB) rs.getBlob(1);
  //     Etape3 : alimentation du blob
      OutputStream l_ostream = l_blob.getBinaryOutputStream();
      l_ostream.write(p_objetBean.getAsBytes());
      l_ostream.close();  
  }
  s1.close();
  conn.close();
} catch (SQLException e1) {
  // TODO Bloc catch auto-généré
  e1.printStackTrace();
} catch (IOException e) {
  // TODO Bloc catch auto-généré
  e.printStackTrace();
} catch (TibrvException e) {
  // TODO Bloc catch auto-généré
  e.printStackTrace();
}