mardi 26 décembre 2006

SSIS - Bug ou feature ?

Bonjour à tous !!!

Voici une grande question concernant le tout beau SQL Server Integration Services !
En effet, bon nombre d'utilisateurs de SSIS auront pu lire ça et là que ce dernier est prévu pour gérer les fichiers XML... Et tout le monde se précipite donc sur cette fabuleuse invention qu'est le "XML File Source"... Somme toute, logique !

J'ai pu lire également que SSIS n'utilise pas les DTD pour des raisons de sécurité, et privilégie l'utilisation des tous beaux XSD !
Jusque là, pas de problème... On peut même lire qu'en cas de nécessité, il suffit de mettre la propriété DTDProhibit à False pour voir SSIS employer une technique éprouvée... Et là, les ennuis commencent !

En présentant un XML valide disposant d'une balise DOCTYPE, je ne pensais pas me retrouver à faire autant de travail dans un outil qui pour moi devait me permettre un développement rapide...
En effet, la première constatation est que la balise DOCTYPE génère une erreur... SSIS propose d'ailleurs dans son message de modifier la valeur de la propriété DTDProhibit...
Logiquement, je recherche la propriété, et là, grande surprise ! Cette propriété n'est accessible qu'en programmation ! Ainsi donc, il ne me reste que deux possibilités pour intégrer un document XML tout ce qu'il y a de plus traditionnel :
- Parser le document en mode texte et supprimer les balises DOCTYPE avant d'intégrer le fichier,
- Programmer un chargement du document dans un XmlDocument...

Résultat, l'intégration d'un simple fichier XML devient très complexe grâce à SSIS ! Bref, un grand progrès...

Donc, bug ou feature ? La firme de Redmond a-t-elle délibérément porté une attaque aux DTD ? N'était-il pas possible de laisser cette propriété visible sur le composant "XML File Source" ?
Dans tous les cas, seuls les utilisateurs s'en trouvent lésés... A mon grand regret...

Aucun commentaire: