官方的做法是这样的:
- using System.Data.Sql;
- 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("============================");
- }
- }
- }
来源于:http://msdn.microsoft.com/en-us/library/system.data.sql.sqldatasourceenumerator.getdatasources.aspx
请看遇到的问题及解决方法:
实际上问题就是,得到的结果只有服务器名字,但由于是默认实例,所以并没有实例名字。而且,假如安装的是sqlserver,则连接数据库是必须是 服务器\sqlexpress(默认实例名称);假如安装的是完整版的sqlexpress,则只需 服务器 即可连接。这就造成了不少问题。 上边百度给出比较好的解决方法。
本文转自 huohe2009 51CTO博客,原文链接:http://blog.51cto.com/zhaojie/932275