Aller au contenu

[C+SQL]Renvoie trop de lignes


Mounji

Messages recommandés

Bonjour a vous,

Je suis actuellement en plein devellopement de mon projet de Base de Données, et il s'agit de réaliser un programme en C, permettant d'interagir avec une BD oracle (un wiki en l'occurence).

Pour l'instant, tout va bien, cependant l'affichage des articles complets du wiki me pose quelques problemes.

1- Pour l'affichage de certains articles, je recupere une erreur oracle me disant "select ... into : renvoie trop de lignes". J'en conclue que l'article est un peu trop long, par consequent, serait il possible de permettre au programme d'afficher plus de ligne que ce dont il est actuellement capable?

J'ai aussi entendu parler d'un type "glob", ou "clob" ou quelquechose qui sonne comme cela, qui permettrai de regler ce probleme, quelqu'un connait?

Les articles s'affichant souffrent de 2 defauts, à savoir:

2- Les caractères spéciaux (comme les "é" par exemples) ne sont pas affichés, je sais comment les afficher moi même (\x82 pour é) mais pas comment faire pour que cet affichage se fasse automatiquement lors de celui de l'article, dont la rédaction n'est pas en lien avec le programme C, mais plutot géré par Oracle.

3- A la fin de certaines lignes, il arrive que des mots soient coupés, serait-il possible de mettre en place un retour a la ligne automatique afin de pallier ce probleme?

Merci a vous

@bientot

Lien vers le commentaire
Partager sur d’autres sites

Bonjour.

Laisse tomber le limit c'est une commande mysql ne fonctionnant pas sous oracle (l'equivalent serait select from where rowid<Valeur...).

Les BLOB (Binary Large Object) et les CLOB (Character Large Object) sont des types de base de données permettant des stocker des gros binaires ou textes.

Si tu poses tes articles dans un VARCHAR(255), ca va effectivement poser problème...

Ensuite en ce qui concerne tes accents, s'ils ne s'affichent pas regarde la chaine que tu récuperes. Elle est surement en UTF-8 (ou en unicode). Dans ce format les caractères "spéciaux" (accent, cédille, etc) sont codés sur 2 octets. Regarde du coté de la fonction WideCharToMultiByte...

Tu ne dis pas ce que tu utilise pour accéder a Oracle ? en natif ou via une couche ado/odbc/oledb ?

Lien vers le commentaire
Partager sur d’autres sites

Merci pour tes reponses

Il faut savoir que je ne peux pas modifier la structure de la base de donnée en question, tout le monde travaille sur la meme, qui a étée concue par le proff....

J'accede a oracle directement a partir du programme via les blocs d'instructions "Exec sql ....."

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...
Merci pour tes reponses

Il faut savoir que je ne peux pas modifier la structure de la base de donnée en question, tout le monde travaille sur la meme, qui a étée concue par le proff....

J'accede a oracle directement a partir du programme via les blocs d'instructions "Exec sql ....."

Mais ta au moins le schema de la base qui te dis le type de bloc ?

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...