3

重複の可能性:
C# で SMO を使用して SQL Server の使用可能なインスタンスを一覧表示する方法は?

SQL Server データベースに接続するためにユーザーが選択できるサーバー名/インスタンスのリストをユーザーに提示する簡単なアプリケーションを作成しています。基本的に、これらのオプションをコンボボックスに入力しようとしています。コンボボックスには、次のようなオプションが必要です。

  • (ローカル)
  • ジョー-PC\SQLEXPRESS

ADO.NET を使用して、サーバーに対応するデータベースとそれぞれのテーブルを正常に取得できました。ただし、上記のデータを取得できるコード サンプルが見つかりません。

4

3 に答える 3

5

SMOを使用できます:

- Microsoft.SqlServer.Smo.dll アセンブリ (Program Files\Microsoft SQL Server\100\SDK\Assemblies SQL SERVER 2008 にあります) をプロジェクト リソースに追加するだけです。- MSDN
はいつでも参照できます。- 必要な機能は次のとおりです。

SmoApplication.EnumAvailableSqlServers();
于 2012-10-11T13:18:28.960 に答える
1

これを行う 1 つの方法は、SQL Browser Service を使用することです。を使用しSqlDataSourceEnumeratorて、SQL Browser サービスが実行されているすべての SQL サーバー インスタンスを列挙できます。

このGetDataSourcesメソッドは、利用可能なインスタンスの DataTable を返します。MSDN ドキュメントにもコード例が記載されています。

これは、SQL Server Management Studio が接続ダイアログのサーバー ドロップダウンに入力するために使用するメカニズムと同じです。

于 2012-10-11T13:16:29.497 に答える
-1

それを行う汚い方法は、すべてのサーバーに接続しようとするサービスを用意することです。接続が失敗した場合、サーバーがオフラインであることがわかり、実行可能なオプションとしてそのサーバーを公開しません。

于 2012-10-11T13:18:18.683 に答える