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

C Discussion :

Manipuler des champs CLOB Oracle en C


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Manipuler des champs CLOB Oracle en C
    Bonjour,

    Dans un programme C sous AIX, je voudrais enregistrer un texte de plus de 4000 caractéres dans une table oracle contenant un champ CLOB.

    J'utilise une variable char[10000] mais mon insert est rejeté par ORACLE.

    voici le code de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    /*------------------------------------------------------------------*/
    /* Fonction d'enregistrement de page dans la base de données   -----*/
    /*------------------------------------------------------------------*/
    int fx_enregistre_page(int arg_num_page)
    {
     int         li_retour;
     char        ls_requete[100000+1];
     
     if (VAR_DEBUG > 0) printf("Entree dans la fonction fx_enregistre_page \n");
     
     li_retour = 0;
     
     sprintf(ls_requete, "insert into out_pages_postscript values(%ld, %d, '%s')", gl_code_etat ,arg_num_page, gs_page_postscript);
     
     
     EXEC SQL prepare insert_page from :ls_requete;
     
     if( sqlca.sqlcode != 0 )
     {
      fprintf(stdout,"Erreur lors du prepare de insert_page :%d\n",sqlca.sqlcode);
     }
     
     EXEC SQL execute insert_page ;
     
     if( sqlca.sqlcode )
     {
      fprintf(stdout,"Erreur lors de l'insertion :%d\n",sqlca.sqlcode);
      EXEC SQL rollback;
     }
     else
     {
      EXEC SQL commit;
     }
    Merci de votre aide !

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Bonjour,

    et alors?? Que peut-on faire pour toi?

    La moindre des chose est de nous indiquer le message généré par Oracle.

    En plus, réservé dans la pile un espace de 100'000b et c'est bien chaud....

    Je ne suis pas sûr qu'Oracle permette de mémorise un lob directement depuis une instruction INSERT.

    Que se passe-t-il si ton string gs_page_postscript contient le caractère ' (apostrophe)?

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/02/2009, 09h11
  2. Manipulation des donnes (perl+oracle)
    Par AmineDev9 dans le forum SGBD
    Réponses: 17
    Dernier message: 14/01/2008, 19h17
  3. Manipulation des champs CLOB
    Par FABFAB125 dans le forum SQL
    Réponses: 2
    Dernier message: 23/02/2007, 11h50
  4. Taille des champs sous Oracle
    Par crovette51101 dans le forum Oracle
    Réponses: 6
    Dernier message: 09/11/2006, 10h36
  5. Réponses: 3
    Dernier message: 27/03/2006, 14h52

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