2009-04-09 34 views
0

由于stackoverflow的创始人谈论如何能够轻松部署更改,我试图提出解决方案来解决我的问题。一个简单的背景是,一个客户与我联系,需要在数据库上完成一些并不那么微不足道的事情,但是做起来并不是非常困难(让我花了大约一天的时间来完成程序)。不幸的是,客户需要能够部署这个“修复”大约20次,并且没有我的输入,因为他不会为此付费。使用WiX部署CLR触发器/存储过程

我写了一个CLR触发器,它可以完成一些使用TSQL(xml文档转换..我更擅长使用CLR与TSQL)的工作。部署通常是几行SQL,并将dll转储到目录中(我只能从VS.Net中部署到目前为止)。

我需要做的是提供一个MSI安装程序,将文件放到一个文件夹中,并提示用户将CLR过程连接到正确的数据库/表所需的数据库信息。

有没有人在过去做过这件事,如果是这样,你是否愿意就如何完成这项工作上学,所以我可以让这个项目上床?

感谢

+0

我有类似的情况 - 我用SharpDevelop创建了一个clr触发器,它不支持'deploy'动作。因此,我需要手工将dll部署到数据库中。你有没有研究过这个过程? – JSacksteder 2011-01-10 16:45:45

+0

的本质是,你有一个“创建扩展过程”命令,你对SQL服务器运行,并将其指向你的Dll。我从来没有得到我需要的工作,所以我最终没有得到解决。抱歉。 – 2011-01-21 18:39:16

回答

2

如果你想避免放置文件的trickiness,您可以使用CREATE汇编语句中指定字节形式组件的另一种形式。 例如

CREATE ASSEMBY MyAssembly FROM 0xFFFF....; 

很明显,你会有我已经把实际的组装字节0xFFFF....