none
C#2005で、LAN内のSQL SERVER 2005のインスタンスの一覧を取得するには? RRS feed

  • 質問

  • お世話になります。

    VS 2005 のサーバーエクスプローラの「データ接続」ノードで

    「接続の追加」をしたときに、LAN内のSQL SERVER の一覧が

    参照できますが、同じことを自分もC#でやりたいと思っているのですが

    どうやったら、一覧が取得できるのかわかりません。

    その方法について、解説しているウェブページのURL等

    教えていただけませんでしょうか。

    よろしくお願いします。

    2006年8月7日 2:20

すべての返信

  • 芋虫は鯨 様

    早速のご回答ありがとうございます。

    教えて頂いたページを参考にインスタンスの一覧を取得することができました。

    ありがとうございました。

    他の人の参考の為に、上記ページを参考に、作成したサンプルコードを以下に記します。

     

    using System.Data.Common;

            //ネットワーク内のSQL Serverを列挙して、"C:\Temp\test.txt"に保存
            private void Test()
            {
                DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient");

                if (factory.CanCreateDataSourceEnumerator)
                {
                    DbDataSourceEnumerator dataSourceEnumerator = factory.CreateDataSourceEnumerator();

                    if (dataSourceEnumerator != null)
                    {
                        DataTable dt = dataSourceEnumerator.GetDataSources();
                        System.IO.StreamWriter swWriter = new System.IO.StreamWriter(@"C:\Temp\test.txt");
                        string dataSource = "";
                        for (int i = 0; i < dt.Columns.Count; i++)
                        {
                            dataSource += dt.ColumnsIdea.ColumnName + "\t";
                        }
                        swWriter.Write(dataSource + "\r\n");


                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            DataRow r = dt.RowsIdea;
                            dataSource = "";
                            for (int j = 0; j < dt.Columns.Count; j++)
                            {
                                dataSource += r[j].ToString() + "\t";
                            }
                            swWriter.Write(dataSource + "\r\n");
                        }
                        swWriter.Close();
                        MessageBox.Show(@"C:\Temp\test.txtにデータソースを列挙しました");

                    }
                }
            }

     

    2006年8月7日 7:30