IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Insérer String énorme dans une table, via requete SQL


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 47
    Points : 38
    Points
    38
    Par défaut Insérer String énorme dans une table, via requete SQL
    Bonjour à vous tous,

    j'ai un problème concernant l'insertion chaine trop longue dans une table, et lors de cet essai d'insertion j'ai cette erreur :
    java.sql.SQLException: ORA-01704: constante de chaîne trop longue
    Pour ceci j'utilise une requete SQL basique, et la colonne de ma table recevant le contenu de cette grosse chaine est un CLOB.

    Voici une petite idée de ma requête SQL utilisée :
    UPDATE BLOC_INFO SET CONTENU_XML = ' <?xml version="1.0" encoding="UTF-8"?> etc mon contenu blabalablaDesKilomètresCommeçaETcg '


    Alors je suis sans doute à coté de la plaque d'utiliser ce genre de méthode pour insérer ce type de champ, mais je n'ai aucune idée des possibilités qui s'offrent à moi avec java, pour parvenir à insérer cette maudite chaine chiante

    Pourriez-vous m'aider un peu svp ?

    merci..

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il est préférable d'utiliser un PreparedStatement qui gère les types de données plus correctement, par exemple avec Java 6 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PreparedStatement statement = con.prepareStatement("UPDATE BLOC_INFO SET CONTENU_XML = ?");
     
    statement.setClob( 1, new StringReader(taString) );
     
    statement.execute();

    Avec Java < 6 tu dois passer par la classe SerialClob...


    a++

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 47
    Points : 38
    Points
    38
    Par défaut
    Ah oki, je te remercie j'essai ça là alors..

Discussions similaires

  1. insérer des valeurs dans une table sql via visual studio
    Par le sportif dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/04/2014, 10h17
  2. Réponses: 1
    Dernier message: 25/01/2010, 15h50
  3. insérer des valeur dans une table via un formulaire
    Par horkets dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 18/07/2008, 20h47
  4. Remplissage d'une table via requete SQL
    Par PyMon dans le forum WinDev
    Réponses: 3
    Dernier message: 11/06/2008, 12h08
  5. enregistrer des variables dans une table via requete sql
    Par Echizen1 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/09/2006, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo