C# - 查詢目前所有資料庫
之前曾經寫過一篇 Data Connection Dialog (Connection Wizard) 利用.NET內建的資料庫連線視窗來選取連線字串。雖然選擇的時候可以不選資料庫(例:挑選要附加資料庫的Server),可是沒辦法隱藏選擇資料庫的介面。
所以我想要自己做一個挑選資料庫的功能~
在內建的System.Data.Sql就有提供這樣的函式,可是前提是該資料庫的SQL Browser要啟動服務:
MSDN有提供範例程式:Enumerating Instances of SQL Server (ADO.NET) ,可以直接把他轉成DataTable來使用。
class Program
{
static void Main()
{
// Retrieve the enumerator instance and then the data.
SqlDataSourceEnumerator instance =
SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();
// Display the contents of the table.
DisplayData(table);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
private static void DisplayData(System.Data.DataTable table)
{
foreach (System.Data.DataRow row in table.Rows)
{
foreach (System.Data.DataColumn col in table.Columns)
{
Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);
}
Console.WriteLine("============================");
}
}
}
執行結果:(我的電腦裝的是SQL Server 2008 SP2)
接下來就可以利用ServerName及InstanceName來組連線字串啦!
Dotblogs 的標籤:SQL Server ,C#