【问题标题】:Deploy a CLR Trigger/Stored Procedure using WiX使用 WiX 部署 CLR 触发器/存储过程
【发布时间】:2009-04-09 08:06:24
【问题描述】:

由于 stackoverflow 的创始人经常谈论能够轻松部署更改,我正在尝试提出一个解决方案来解决我的问题。一个快速的背景是,一个客户联系了我,需要在数据库上做一些不那么简单但并不难做的事情(我花了大约一天的时间让这个过程开始工作)。不幸的是,客户需要能够部署这个“修复”大约 20 次,并且没有我的意见,因为他不会为此付费。

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

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

过去有没有人这样做过,如果有,你愿意教别人如何做到这一点,这样我就可以完成这个项目了吗?

谢谢

【问题讨论】:

  • 我有类似的情况 - 我正在使用 SharpDevelop 创建一个 clr 触发器,它不支持“部署”操作。因此,我需要手动将 dll 部署到数据库中。你有没有制定出这样做的过程?
  • 本质是你有一个针对 SQL 服务器运行的“创建扩展过程”命令,并将它指向你的 Dll。我从来没有得到我需要的工作,所以我最终没有得到解决。对不起。

标签: c# sql-server-2005 deployment sqlclr


【解决方案1】:

如果您想避免放置文件的麻烦,可以使用 CREATE ASSEMBLY 语句的替代形式,该语句以字节形式指定程序集。 例如

CREATE ASSEMBY MyAssembly FROM 0xFFFF....;

显然,您将拥有我放置 0xFFFF.... 的实际汇编字节。

【讨论】:

  • 嗨,Dave,我真正专注于在这种情况下构建 MSI 安装程序。
猜你喜欢
  • 2017-07-09
  • 2012-02-12
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多