我编写了一个 asp.net Web 应用程序,它使用 SMO 针对 SQL Server 2008 来运行一些数据库脚本。它引用这些程序集(位于 C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies 文件夹中):
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
microsoft.sqlserver.batchparser.dll 不在此文件夹中。
本地(32 位机器,IIS7)我没有问题。
当我将应用程序发布到我的托管提供商(discountasp.net、SQL Server 2008、IIS7、32 位)时,我收到以下错误:
无法加载文件或程序集
'Microsoft.SqlServer.BatchParser,
版本=10.0.0.0,文化=中立,
PublicKeyToken=89845dcd8080cc91' 或
它的依赖项之一。系统
找不到指定的文件。
我搜索了我的本地机器,但找不到这个程序集。不过,它在这台机器上运行良好。
“Microsoft SQL Server 2008 安装发现报告”工具报告我已在本地安装了 v10.1.2531.0。
要获取此 dll,您需要安装 Microsoft SQL Server 2008 管理对象(可从here http://www.microsoft.com/en-us/download/details.aspx?id=16978#SMO)。该特定的 dll 被安装到 GAC 中,这就是为什么您可能无法使用搜索找到它。
由于您使用的是托管提供商,因此他们似乎没有安装此功能。您的选择是让他们安装它(这可能不太可能),或者手动部署 dll(这可能是在不可靠的许可基础上)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)