2009-04-09 4 views
0

Comme les fondateurs de stackoverflow parlent tellement de pouvoir déployer les changements facilement, j'essaie de trouver une solution pour résoudre mon problème. Un bref aperçu est qu'un client m'a contacté et avait besoin de quelque chose de fait sur la base de données qui n'est pas si banal, mais n'est pas horriblement difficile à faire (cela m'a pris environ une journée pour que la procédure fonctionne). Malheureusement, le client doit être capable de déployer cette "solution" environ 20 fois, et sans ma contribution, car il ne va pas payer pour cela.Déployer un déclencheur CLR/procédure stockée en utilisant WiX

J'ai écrit un déclencheur CLR qui fait un travail qui serait autrement très difficile en utilisant TSQL (transformations de documents xml .. Je suis mieux à l'aide de CLR vs TSQL). Le déploiement est généralement de quelques lignes SQL et le dumping de la DLL dans un répertoire de ce que je peux pêcher (je n'ai jamais été déployé depuis VS.Net jusqu'à présent). Ce que je dois être en mesure de faire est de fournir un programme d'installation MSI qui va déposer le fichier dans un dossier, et invite l'utilisateur pour les informations de base de données nécessaires pour connecter la procédure CLR à la base de données/table correcte. Est-ce que quelqu'un a déjà fait cela par le passé, et si oui, êtes-vous disposé à enseigner à quelqu'un comment cela se fait, afin que je puisse mettre ce projet au point?

Merci

+0

J'ai une situation similaire - Je crée un trigger clr avec SharpDevelop, qui ne supporte pas l'action 'deploy'. Par conséquent, j'ai besoin de déployer la DLL dans la base de données à la main. Avez-vous déjà travaillé sur le processus pour ce faire? – JSacksteder

+0

l'essentiel est que vous avez une commande "Créer une procédure étendue" que vous exécutez sur le serveur SQL et que vous le pointez sur votre DLL. Je n'ai jamais eu le travail pour lequel j'avais besoin de ça, alors j'ai fini par ne pas le résoudre. Pardon. –

Répondre

2

Si vous voulez éviter la rouerie de placer le fichier, vous pouvez utiliser le formulaire autre de l'instruction CREATE ASSEMBLY qui spécifie l'ensemble sous forme d'octets. par exemple.

CREATE ASSEMBY MyAssembly FROM 0xFFFF....; 

De toute évidence, vous auriez les octets d'assemblage réels où j'ai mis 0xFFFF.....

+0

Salut Dave, Je suis vraiment concentré sur la construction d'un installateur MSI dans cette instance. –

Questions connexes