Bonjour,
voici le contexte :
Je récupère des données depuis une base de données Oracle grâce à un DataReader afin d'optimiser la gestion mémoire.
De par les contraintes qui pèsent, je dois effectuer les opérations suivantes :
à la table récupérée de la base Oracle, j'ajoute deux champs que je remplis par croisement (équivalent inner join) avec des tableaux.
A terme, une fois la table finale constituée, je dois faire une exportation Excel.
Problème :
Tout simplement la volumétrie. L'action de parcourir le DataReader et d'ajouter chaque ligne à une table aboutit à une erreur OutOfMemoryException au bout de 3 millions de lignes. Sauf que je dois en traiter jusqu'à 20 millions.
Et mes contraintes ne me permettent pas de filtrer directement sur la base pour concaténer tous les champs voulus au final.
Je dois donc passer par cette étape intermédiaire.
Ma question est la suivante :
Existe-t-il un moyen d'utiliser les Datatable pour traiter une telle volumétrie ?
Si non, est-ce même possible et par quel moyen ?
J'avais pensé à une liste d'un type créé par mes soins, mais je préfère m'adresser à vous avant.
Merci d'avance de votre aide.
Partager