2009-06-23 6 views
0

J'ai une requête mdx qui renvoie des résultats valides dans Sql Server Management Studio et souhaite automatiser l'exécution de cette requête et mettre le résultat dans un e-mail. SSIS semble être la solution naturelle pour cela. J'ai été en mesure d'exécuter le mdx dans une «tâche SQL d'exécution» et de remplir une variable objet avec le résultat, mais je ne sais pas comment analyser cet objet en données string ou xml que je peux utiliser dans une tâche Send Mail. Les publications que j'ai vues ailleurs sur ce type de choses finissent par utiliser une "tâche de script" qui me demanderait de changer mes pensées C# en VB.NET et sembler être en dehors de l'esprit et de l'utilité de SSIS.Comment récupérer et envoyer des données OLAP dans SSIS

S'il existe une autre approche entièrement qui pourrait fonctionner aussi bien, je ne suis pas marié aux SSI, mais je voudrais rester dans les outils MS SQL Server et .NET.

+0

appelez-vous le paquet à partir d'une application C#? Vous pouvez envoyer directement un e-mail à partir de SSIS ou de votre application C#, en fonction du statut du résultat de l'exécution. Qu'est-ce que vous essayez exactement d'envoyer par courriel? Un message ou juste le résultat [1]? – D3vtr0n

Répondre

0

Vous pouvez exécuter C# dans SSIS 2008 - lorsque vous créez d'abord la tâche de script, sélectionnez C# comme langue avant d'ouvrir l'éditeur de code (je pense que c'est par défaut de toute façon).

Si c'est un objet, c'est votre meilleur choix pour extraire des données dans des variables pour un email. Vous pouvez également créer un proc stocké en SQL qui exécute votre requête et renvoie les données que vous souhaitez en tant que paramètres de sortie. Ces paramètres de sortie peuvent être mappés aux variables de la tâche SQL d'exécution. Enfin, s'il s'agit d'un scénario de type flux de données (par exemple, vous récupérez un ensemble de résultats et envoyez un courrier électronique par ligne), utilisez un flux de données, peut-être avec une source OLEDB ou une source de script personnalisée. , rempli par un script C#)

+0

J'avais considéré tout cela, et ils ont épuisé l'utilisation de SSIS en tant que gestionnaire et avoir tout le travail en # J'ai décidé de compiler un dll en C# et en laissant SSIS le traiter comme une boîte noire. –

Questions connexes