Bonjour,

Heureusement, il fait froid et donc ça freine un peu mon envie de me jeter par la fenêtre !
Voici mon problème :

(Package SSIS sur Visual Studio 2005)

Dans un data flow,

- je débute avec un DataReader Source où je fais une requête sur un cube (que j'abrège ici, je ne mets pas tous les champs de mesures):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
select {[Measures].[Destinataires],[Measures].[Aboutis]}on axis(0),
non empty ([Dim Action].[Dim Action].children,
[Dim Domain].[Dim Domain].children) on axis(1)
from [CUBE]
Tous les champs qui me sont retournés sont au format DT_NTEXT.

- Donc après ce DataReader je fais un Data Conversion pour tout mettre en DT_WSTR

- puis un second Data Conversion pour mettre les action et domain en DT_STR et les mesures en DT_I4

- J'ai ensuite un script qui remplace les champs null (dans les mesures) par zéro

- Enfin, je mets tout ça dans une table temporaire.


Lorsque j'exécute mon lot, il fait tout ça par bloc de 7000 lignes environs et je dois faire ça sur plusieurs cubes.

Mon problème c'est que sur certains cubes il fait par exemple l'enregistrement des 7000 puis au 7000 suivant il bloque au niveau du premier DataConversion (il reste jaune et ne fait plus rien). Suivant les cubes il arrive a en faire 20000 puis bloque après, sur certain il ne bloque pas.

Après là où ça devient n'importe quoi c'est qu'au niveau de mon premier DataConversion je spécifie les tailles pour les DT_WSTR. Pour les mesures je mets 7 (pour aller jusqu'à 1000000) mais quand je change il ne se bloque pas aux mêmes endroits. En général plus je mets petit plus il va loin mais se met en erreur quand il tombe sur un nombre plus grand que ma taille spécifiée (normal!).

J'ai quand même vérifié les données resorties par le cube et je ne vois rien d'anormal comparé aux lignes qui ne bloquent pas.

J'ai aussi pensé à faire une conversion directement au niveau de ma requête MDX, mais je ne sais pas trop faire...

Je sais pas si vous avez tout suivi. N'hésitez pas à me demander des renseignements supplémentaires.

Merci d'avance !