2010-11-29 9 views
0

私はWindowsアプリケーションを持っていました。ネットワークが利用できる場合、オンラインデータベースに接続します。 ネットワークが利用できない場合は、ローカルデータベースに接続してください。SQL Serverの前提条件を指定する方法(SQL Serverインスタンスのいずれか)

アプリケーションでは、オフラインデータストレージ用にクライアントマシンのSQL Serverが必要です。 セットアップの作成時に、前提条件をSQL Server 2005 Expressとして指定すると、セットアップによってSQL Server 2005 Expressのみがチェックされます。フルバージョンがインストールされているかどうかはチェックされません。

は今、私の問題は、..です

SQL Serverが既にインストールされているのクライアントコンピュータは、1つまたは複数のインスタンス(複数可)を持っている場合(つまり、SQL Server 2008のExpressまたは完全版すなわちエンタープライズ/ VoIP音声/デベロッパー版)についてユーザーは、アプリケーションがオフラインで使用するためのデータを格納するインスタンスを選択するオプションを表示する必要があります。

  1. インスタンスが存在するかのように、前提条件でSQL ServerのOR条件を指定する方法はありますか?
  2. 複数のインスタンスまたはバージョンが存在する場合は、使用可能なすべてのSQL Serverインスタンスをこのコンピュータに表示する必要がありますが、すべてのインスタンスを取得するわけではありません。

私はSQL Serverインスタンスを検出するために、次のコードを使用しています、

 ManagedComputer mc = new ManagedComputer();   
     foreach (ServerInstance si in mc.ServerInstances) 
     { 
      liServers.Add(si.Name); 
     } 

..

おかげ

Ramanjiを助けてください。

答えて

1

このメソッドをお試しください。from MSDN

+0

これはSmoApplication.EnumAvailableSqlServersでも行うことができますが、System.Data空間にも解決策があることに気付きませんでした(おそらくほとんどのプログラムがアクセスしやすい)。 – RBarryYoung

+0

ありがとうございます。大変です。私も知られていません、SMOを使用せずに、すべてのインスタンスを取得できます – Ram

関連する問題