在ASP.NET服务器上使用SMO

时间:2011-09-28 21:56:15

标签: asp.net smo

是否需要在Web服务器上安装任何与SQL Server相关的内容才能使用SMO?我已经构建了一个以编程方式创建SQL代理作业的Web应用程序,添加了一个步骤(最终激活了dtexec以运行SSIS包),然后执行。

这在我安装了SQL客户端工具的本地计算机上运行良好,但是当我转移到Web服务器时,我遇到参考问题,我开始认为这是由于没有安装的东西。

  

无法加载文件或程序集“Microsoft.SqlServer.SqlClrProvider,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91”或其中一个依赖项。

2 个答案:

答案 0 :(得分:1)

这是一个老鼠洞。

问题在于,一旦找到该程序集并将其复制到应用程序的bin文件夹中,它就会抱怨完全不同的文件......或者甚至是由于缺少依赖项而导致同一文件。

欲了解更多信息,请阅读:http://www.sqldbadiaries.com/2010/10/20/how-i-fixed-could-not-load-file-or-assembly-microsoft-sqlserver-smo-version10-0-0-0-issue/

该网站列出了您需要的文件以及注册和gac文件所需的事实。坦率地说,只要咬紧牙关并在Web服务器上安装客户端工具,你就会好得多。

答案 1 :(得分:0)

是的,您的应用程序需要在其bin目录中的此程序集才能运行。此错误表示服务器没有SMO(及其相关的)程序集。

返回Visual Studio中的解决方案,右键单击上面的程序集,然后选择/将“Copy Local”更改为“True”。为您引用的每个SMO程序集复制此文件。

发布应用程序时,这会将开发计算机上的.DLL带到已发布的bin目录中。

  • 检查您的web.config 文件以获取任何参考资料
  • 在代码中搜索SqlClrProvider

enter image description here