我试图加载一个项目,但它说:
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
答案 0 :(得分: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”程序集参考
答案 1 :(得分:1)
引自标题为“Microsoft SQL Server 2005 Notification Services”:
的文章NMO API程序集和命名空间
要使用NMO API,应用程序必须引用包含所需类的程序集。通常需要以下两个程序集:
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.ConnectionInfo.dll
第一个程序集Microsoft.SqlServer.Smo.dll包含SMO Framework中的大多数类,包括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编程所需要的。第三个命名空间包含常用的实用程序类,例如用于建立数据库连接的实用程序类。
修改强>
Take a look here,搜索“Microsoft SQL Server 2005管理”并下载相应的DLL。我解压缩它,它似乎包含一个Microsoft.SqlServer.Smo文件。当我尝试安装它时,我收到一条消息,指示我download a prerequisite(SQL Server Native Client),它指示我的页面似乎是2005 DLL的更新版本,所以你可能只是想要使用该页面中的DLL。
另外,作为旁注,如果您实际连接到2008 SQL Server,则应该能够使用2005 DLL来管理它,但是使用更新的“2008特定”功能将无法使用较旧的DLL。