2010-08-20 19 views
0

Je développe une application pour effectuer des "tâches" prédéfinies sur des tables de base de données MSSQL. C'est vraiment un outil pour aider avec certaines tâches répétitives de conversion/importation de données que nous avons.C# Scripting - conseil requis

Dans sa forme SIMPLEST, il peut s'agir d'une "instruction" agissant sur une table ie. Prendre le contenu du champ A et fusionner avec le champ B puis écrire dans le champ C

J'ai implémenté le framework de base (en utilisant SQL SMO) qui permet de se connecter à la base de données, en sélectionnant la table et les champs et en définissant la table de sortie et Cela fonctionne bien.

J'ai besoin maintenant de mettre en œuvre une sorte de script entre les deux afin que je puisse

a. Construire les "actions" en utilisant C#

b. Avoir une méthode pour les tester?

c. Enregistrer ces actions individuelles pour l'avenir

d. Peut-être les "enchaîner" ensemble pour former des actions plus complexes.

Je suis en cours d'élaboration à l'utilisation des classes Workflow Foundation, mais (a) Je ne sais pas comment facile cela va être d'intégrer dans mon application WinForms et (b) Y at-il d'autres options plus pratiques que tout le monde a trouvé pratique

J'utilise C# .NET 3.5 VS2008

Si quelqu'un peut offrir des pointeurs je l'apprécierais.

Roger Somerset UK

+0

Je vous conseillerais de modifier votre titre pour mieux expliquer la question - cela pourrait amener des gens plus expérimentés à vous aider. Ajoutez aussi MySql aux tags :) –

Répondre

0

Avez-vous envisagé SQL Server Integration Services (SSIS)? Cet outil MS est très puissant et vous permet de construire des actions complexes telles que l'obtention de données provenant de différentes sources, le tri, la fusion et la manipulation générale, et la sortie à divers endroits. Et vous pouvez coder tout ce qui n'est pas pris en charge dans .Net.

Bien sûr, ce n'est pas votre propre application, vous êtes limité dans la façon dont les gens interagissent avec (en exécutant des scripts prédéfinis), les tests seront plus difficiles, et vous faites glisser & au lieu d'écrire code (qui suce généralement!). Donc, pas beaucoup d'utilisation si vos utilisateurs doivent dynamiquement créer de nouvelles tâches, mais si cela convient à la facture, il pourrait bien être le moyen le plus rapide. En dehors de cela, il semble que vous envisagiez d'écrire une sorte de Domain Specific Language (DSL) pour que vos utilisateurs puissent entrer dans votre application, mais cela demandera beaucoup de travail.

+0

Salut Grant - J'ai utilisé SSIS sur un projet différent et mis à part le trouver assez encombrant surtout quand j'essayais d'utiliser des tâches "répétables" - je l'ai également trouvé assez peu fiable particulièrement dans Fusionner les entrées, les liens qui ont été créés disparaîtraient alors si des modifications étaient faites plus tôt dans le flux? J'ai vraiment escompté cela. Depuis que j'ai posé la question, je suis tombé sur Managed Scripting Engine (http://managedscripting.codeplex.com/) qui, à première vue, semble très prometteur. C'est seulement BETA pour le moment et je ne suis pas sûr que ce soit un développement actif. Merci pour votre contribution –

+0

Oui, SSIS n'est pas mon truc préféré. Je n'avais pas vu ce Managed Scripting Engine auparavant, semble intéressant. Vous pourriez obtenir plus de réponses dans une heure ou deux quand les Américains se connecteront. –

+0

Avez-vous regardé "CS-Script"? http://www.csscript.net. Plus puissant et plus complet que Managed Scripting Engine. –