13 sql-server dll smo
好吧,我已经浏览了网络,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();
}
Run Code Online (Sandbox Code Playgroud)
错误:无法加载文件或程序集"Microsoft.SqlServer.BatchParser,Version = 9.0.242.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91"或其依赖项之一.该系统找不到指定的文件.
注意,我也是使用VB.NET从SSIS尝试过的,同样的行为.
任何想法将不胜感激.
谢谢.
tbr*_*fni 10
我能够使用10.*版本的程序集"Microsoft.SqlServer.ConnectionInfo","Microsoft.SqlServer.Management.Sdk.Sfc"和"Microsoft.SqlServer.Smo"成功运行代码.尝试下载2008版本的SMO组件,也许这是他们现在修复的错误.
你在盒子上运行x64操作系统吗?在64位环境中似乎存在BatchParser.dll问题 - 通常建议从Microsoft 下载SMO x64软件包(SQLServer2005_XMO_x64.msi).
请在此处查看相关信息.
为了让我们正确理解这个问题,Microsoft.SqlServer.BatchParser.dll 没有安装在您的开发计算机上的全局程序集缓存中?如果是这样,您可能需要首先重新安装 .NET Framework(您的目标框架版本),看看是否可以解决问题。
您还可以尝试使用 .NET Framework 配置工具来查看该程序集是否确实存在于全局程序集缓存 (GAC) 中。这篇MSDN 文章介绍了如何使用此工具。
(对我的硬盘驱动器的搜索没有返回 Microsoft.SqlServer.BatchParser.dll 程序集,即使我可以使用 .NET Framework 配置工具看到它)。