Bonjour,
J'ai un lookup qui fonctionne très bien pour 2 millions de lignes.
Par contre pour 4 millions de lignes il met bien les lignes en cache mais ne fais rien après.. le composant ne devient même pas jaune..
qqun aurait-il une idée?
Bonjour,
J'ai un lookup qui fonctionne très bien pour 2 millions de lignes.
Par contre pour 4 millions de lignes il met bien les lignes en cache mais ne fais rien après.. le composant ne devient même pas jaune..
qqun aurait-il une idée?
La phase de mise en cache du lookup a lieu avant la phase d'exécution du package (ou de la tache je ne sais plus...). C'est donc normal que ton composant ne change pas de couleur à ce moment.
Ensuite, vient la phase d'exécution. Normalement, tu dois avoir un message du type "execution phase is beginning" dans les messages d'output.
Cette action peut prendre un certain temps...
As-tu laissé tourné ton package pendant un moment?
As-tu bien optimisé ton lookup (utilisation d'une query plutôt qu'une table)?
Mon package est optimisé avec une query,je l'ai laissé tourné plus de trois heures..ca ne marche pas.. (alors qu'il faut 8 min avec 2millionsde lignes) il ne fait toujours rien ..il s'arrete sur [Recherche [169]] Informations : composant « Recherche » (169) a mis en cache un total de 3740501 lignes. et puis plus rien..
Bon ça ne marche toujours pas..
J'ai essayé de changer de tactique je me suis que toute façon la mise en cache était trop importante,18 go pour 12 millions de lignes..
alors je me suis dis que je pourrais faire cela en plusieurs fois de la façon suivante:
J'ordonne ma table source et ma table lookup sur la clé puis je fais un select des 3millions de première ligne et ensuite des 3millions qui suivent etc..(en passant par un conteneur de boucle for)..
J'arrive très bien à paramétré la source chouette! et là... pfff... il n'est pas possible d'effectuer des requêtes paramétrés dans le lookup (ce qui signifie la même taille de cache)..déception.. retour au point de départ..
une idée?
Que fait tu dans ton lookup si ce n'est pas indiscret.
Je pense que tu peux utiliser un composant "execute SQL" avec ta requete paramétrée. Le contenu sera stocker dans une variable et c'est cette variable que tu insérera dans ton lookup. Maintenant reste a savoir si Lookup accepte les variables...
Le lookup ne peut pas prendre de variable ou requête paramétrée dans sa configuration.
C'est, à mon avis, son problème majeur. La meilleure chose à faire, est de restreintre au maximum le nombre de lignes qu'il aura à traiter et ce, lorsque c'est possible, par des "astuces" dans sa requete sql. (ex : prendre le membre de la dimension de temps étant le plus petit après le plus grand membre de cette dimension).
Si ce n'est pas faiseable, on peut encore enviseager de stocker les lignes à traiter par lookup dans une table temporaire et dans ce cas, pour remplir la table, on peut profiter des queries paramétrées et compagnie.
Ce problème sera résolu en 2008...
J'utilisait le lookup pour faire du update insert, mais j'ai abandonné l'utilisation de ce composant au profit de bonne vieille requête sql avec les command except et intersect.
Si ça intéresse des gens je peux fournir des exemples pour faire update/insert/delete en SQL dans le cas d'un entrepôt de donnée.
Bonjour,
J'arrive à alimenter facilement les tables une par une en créant un package SSIS pour chaque fichier source --.xls. - ma problématique c que je veux trouver un moyen (passe partout proc ou ..?) pour :
- prendre des fichier --.xls les transformer en --.csv ou en --.txt
- enlever la première et la dernière ligne du fichier --.TXT
- les charger dans des tables à la foulée (il sagit d'une grande quantité de fichiers)
Quelqu'un aurait-il un exemple parlant car là je ne sais pas trop comment faire.
Par avance merci à tous,
Sow
, @+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager