0

プロジェクトを読み込もうとしましたが、次のように表示されました。

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

私はSmodllだけを知っていますが、Nmoを知っていますか?どこにありますか?

更新: 2008バージョンのsmo dllを追加しましたが、それでもエラーが発生します...多分、SQL2005バージョンのsmodllを取得する必要がありますか?このプロジェクトを入手したマシンはSQL2005を使用しています

4

2 に答える 2

1

Microsoft.SqlServer.Management.Nmo名前空間には、NotificationServicesインスタンスとアプリケーションの開発と管理に使用されるクラスが含まれています。詳細情報へのリンクは次のとおりです 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 に答える
1

MicrosoftSQLServer2005 NotificationServicesというタイトルの記事からの引用:

NMOAPIアセンブリと名前空間

NMO APIを使用するには、アプリケーションは必要なクラスを含むアセンブリを参照する必要があります。通常、次の2つのアセンブリが必要です。

  • Microsoft.SqlServer.Smo.dll

  • Microsoft.SqlServer.ConnectionInfo.dll

最初のアセンブリであるMicrosoft.SqlServer.Smo.dllには、NMOクラスを含むSMOフレームワークのほとんどのクラスが含まれています(個別のNMOアセンブリはありません)。Microsoft.SqlServer.ConnectionInfo.dllには、データベース接続を確立するために使用されるユーティリティクラスが含まれています。NMO APIを使用するプログラムでは、通常、両方のアセンブリのクラスが必要です。

NMOでの作業中に遭遇するクラスのほとんどは、次の3つの名前空間のいずれかで定義されています。

  • Microsoft.SqlServer.Management.Nmo

  • Microsoft.SqlServer.Management.Smo

  • Microsoft.SqlServer.Management.Common

最初のものは、NMO名前空間と呼ばれることもあります。これには、すべてのNMO固有のクラスが含まれています。2番目の名前空間には多くのSMOクラスが含まれており、そのうちのいくつかはNMOプログラミングで必要です。3番目の名前空間には、データベース接続の確立に使用されるものなど、一般的なユーティリティクラスが含まれています。

編集:

こちらをご覧になり、 「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 に答える