是否需要在Web服务器上安装任何与SQL Server相关的内容才能使用SMO?我已经构建了一个以编程方式创建SQL代理作业的Web应用程序,添加了一个步骤(最终激活了dtexec以运行SSIS包),然后执行。
这在我安装了SQL客户端工具的本地计算机上运行良好,但是当我转移到Web服务器时,我遇到参考问题,我开始认为这是由于没有安装的东西。
无法加载文件或程序集“Microsoft.SqlServer.SqlClrProvider,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91”或其中一个依赖项。
答案 0 :(得分:1)
这是一个老鼠洞。
问题在于,一旦找到该程序集并将其复制到应用程序的bin文件夹中,它就会抱怨完全不同的文件......或者甚至是由于缺少依赖项而导致同一文件。
该网站列出了您需要的文件以及注册和gac文件所需的事实。坦率地说,只要咬紧牙关并在Web服务器上安装客户端工具,你就会好得多。
答案 1 :(得分:0)
是的,您的应用程序需要在其bin目录中的此程序集才能运行。此错误表示服务器没有SMO(及其相关的)程序集。
返回Visual Studio中的解决方案,右键单击上面的程序集,然后选择/将“Copy Local”更改为“True”。为您引用的每个SMO程序集复制此文件。
发布应用程序时,这会将开发计算机上的.DLL带到已发布的bin目录中。