1

アプリケーションが SQL Server 2008 R2 Developer/Express のインスタンスを返すようにしたいと考えています。

私は使用しています:

System.Data.DataTable lokalni_servery = Microsoft.SqlServer.Management.Smo.SmoApplication.EnumAvailableSqlServers();

foreach (System.Data.DataRow row in lokalni_servery.Rows)
{
    local_servers.Items.Add(row["Server"].ToString());
}

SQL Server 2008 R2 Express 32 ビットを搭載した友人のノートブックでは何も見つかりませんが、SQL Server 2008 R2 Developer 64 ビットを搭載した私のノートブックでは、ほぼ毎回見つかります。両方のマシンで SQL のこのインスタンスを見つけることができる必要があります。

アプリケーションがこのように動作する理由を知っている人はいますか?

両方のノートブックがインスタンスを見つけられるようにメソッドを変更する方法はありますか?

4

1 に答える 1

1

SmoApplication.EnumAvailableSqlServers利用可能なインスタンスを列挙します。つまり、サーバーが実行されている必要があります。それらがインストールされているという事実だけでは十分ではありません。

また、SQL Server Browser Service実行している必要があります。

MSDNの「方法: SQL Server Browser サービス (SQL Server Express) を開始および停止する」を参照してください。

于 2012-04-12T22:54:24.583 に答える