Bonjour,
J'utilise le précompilateur "PROC" pour générer des ressources C me permettant de me connecter sur une base ORACLE et d'effectuer des requêtes en C.
Mon but est de charger une table oracle dans un tableau mémoire en C et de l'exploiter par la suite. J'ai donc déclaré un curseur puis effectuer des fetchs pour remplir mon tableau (ex : select ..liste de tous mes champs... from TABLE). Tout marche très bien mais je constate des problèmes de performances.
A vrai dire, j'ai testé cette solution qui est plus rapide :
- j'exécute un script SQL qui génére un fichier plat de ma table oracle avec la commande suivante : sqlplus SA/SASASA@TNR01 @script.sql
set space 0 ;
set linesize 3000 ;
set trimspool on ;
set pagesize 0 ;
set echo off ;
set heading off ;
set feedback off ;
set termout off ;
set verify off ;
set colsep '#';
spool tp2_ict01_wrk.txt;
select * from tp2_ict01_wrk;
spool off ;
quit;
- ensuite, j'ouvre le fichier tp2_ict01_wrk.txt en C et lit ligne par ligne en découpant les lignes en token pour charger mon tableau mémoire.
Cette solution me permet de gagner 25% de temps sur ce que j'ai prévu.
En somme, j'utilise la performance de l'outil SQLPLUS pour m'en sortir au mieux. Si j'arrivais à coder une partie de code en C m'envoyant les lignes une lignes sans passer par ce fichier plat, je gagnerai bien plus de temps.
Mais je ne sais pas comment m'en sortir. Auriez-vous une idée ou des pistes que je puisse exploiter ?
Merci d'avance.
Kévin
Partager