当前位置:  开发笔记 > 后端 > 正文

SQL Server SMO抱怨缺少DLL

如何解决《SQLServerSMO抱怨缺少DLL》经验,为你挑选了2个好方法。

好吧,我已经浏览了网络,BOL,各种论坛,我也没有接近答案...希望你们好人们可以伸出援助之手......

我们在网络上有十几个SQL Server(大约2k,一些2005).我在.NET应用程序中使用SMO对象来获取一些标准信息.我的问题似乎归结为一个丢失的DLL - Microsoft.SqlServer.BatchParser.dll.但是,此DLL没有附带其他SQL DLL(Microsoft.SqlServer.ConnectionInfo.dll,Microsoft.SqlServer.Smo.dll,Microsoft.SqlServer.SmoEnum.dll,Microsoft.SqlServer.SqlEnum.dll等...) .我还从微软的网站下载了包含SMO对象的SS2005功能包,但仍然没有运气.

以下代码有效,除非我取消注释当前注释的行,在这种情况下我得到以下错误:

protected void btnArchive_Click(object sender, EventArgs e)
{
    ServerConnection conn = new ServerConnection("my_server");

    conn.LoginSecure = false;
    conn.Login = "my_login";
    conn.Password = "my_password";

    Server s = new Server(conn);
    Database d = s.Databases["my_database"];
    //Table tbl = d.Tables["my_table"];

    Response.Write(s.Name + " " + s.Information.RootDirectory + " " + d.CreateDate.ToShortDateString());
    conn.Disconnect();
}

错误:无法加载文件或程序集"Microsoft.SqlServer.BatchParser,Version = 9.0.242.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91"或其依赖项之一.该系统找不到指定的文件.

注意,我也是使用VB.NET从SSIS尝试过的,同样的行为.

任何想法将不胜感激.

谢谢.



1> tbreffni..:

我能够使用10.*版本的程序集"Microsoft.SqlServer.ConnectionInfo","Microsoft.SqlServer.Management.Sdk.Sfc"和"Microsoft.SqlServer.Smo"成功运行代码.尝试下载2008版本的SMO组件,也许这是他们现在修复的错误.


以下这对我有用.但是,我会补充说,在我的情况下,我必须使用32位版本,因为我的应用程序池在启用32位模式的情况下运行.永远想知道这个问题,所以我希望这有助于其他人.

2> marc_s..:

你在盒子上运行x64操作系统吗?在64位环境中似乎存在BatchParser.dll问题 - 通常建议从Microsoft 下载SMO x64软件包(SQLServer2005_XMO_x64.msi).

请在此处查看相关信息.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有