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:
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 !