0

我试图加载一个项目,但它说:

The type or namespace name 'Nmo' does not exist in the namespace 'Microsoft.SqlServer.Management'

我只知道 Smo dll 但 Nmo?在哪里可以找到那个?

更新: 我添加了 2008 版本的 smo dll ......但它仍然给出错误......也许,我应该得到 sql 2005 版本的 smo dll?因为我得到这个项目的机器正在使用 sql 2005

4

2 回答 2

1

引用标题为Microsoft SQL Server 2005 Notification Services的文章:

NMO API 程序集和命名空间

要使用 NMO API,应用程序必须引用包含所需类的程序集。通常需要以下两个组件:

  • Microsoft.SqlServer.Smo.dll

  • Microsoft.SqlServer.ConnectionInfo.dll

第一个程序集 Microsoft.SqlServer.Smo.dll 包含 SMO 框架中的大部分类,包括 NMO 类(没有单独的 NMO 程序集)。Microsoft.SqlServer.ConnectionInfo.dll 包含用于建立数据库连接的实用程序类。使用 NMO API 的程序通常需要来自这两个程序集的类。

您在使用 NMO 时会遇到的大多数类都定义在以下三个命名空间之一中:

  • Microsoft.SqlServer.Management.Nmo

  • Microsoft.SqlServer.Management.Smo

  • Microsoft.SqlServer.Management.Common

第一个有时称为 NMO 命名空间。它包含所有 NMO 特定的类。第二个命名空间包含许多 SMO 类,其中一些是 NMO 编程所需要的。第三个命名空间包含常见的实用程序类,例如用于建立数据库连接的那些。

编辑:

看这里,搜索“Microsoft SQL Server 2005 Management”并下载相应的DLL。我解压缩它,它似乎包含一个 Microsoft.SqlServer.Smo 文件。当我尝试安装它时,我收到一条消息,指示我下载一个先决条件(SQL Server Native Client),它引导我访问的页面似乎是 2005 DLL 的更新版本,因此您可能只想使用该页面中的 DLL。

另外,附带说明一下,如果您实际连接到 2008 SQL Server,您应该能够使用 2005 DLL 来管理它,但是使用旧 DLL 时将无法使用较新的“2008 特定”功能。

于 2012-07-07T03:36:56.447 回答
1

Microsoft.SqlServer.Management.Nmo 命名空间包含用于开发和管理 Notification Services 实例和应用程序的类。这是更多信息的链接 http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.nmo%28v=sql.90%29.aspx

您需要添加“microsoft.sqlserver.smo.dll”程序集引用

于 2012-07-07T03:32:24.080 回答