Ajouter un commentaire

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();
}

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
  QQQ     CCC  III   GGG   III 
Q Q C I G I
Q Q C I G GG I
Q QQ C I G G I
QQQQ CCC III GGG III
Q