2

我使用以下方法获取数据库名称:

SqlDataSourceEnumerator sdse = SqlDataSourceEnumerator.Instance;
DataTable table = sdse.GetDataSources();

然后使用下面我得到一个数据库列表。

static void Main(string[] args)
        {
            {
                //Connect to the local, default instance of SQL Server. 
                Server srv;
                srv = new Server("LAPTOP\\SQLEXPRESS");
                //The connection is established when a property is requested.

                Console.WriteLine(srv.Databases.ToString());
                foreach (Database db in srv.Databases)
                {
                    Console.WriteLine(db);
                }
                Console.ReadLine();
            }
        }

问题是我只得到系统数据库,没有其他的,即使它们存在。我不知道要更改什么来获取所有数据库的信息。任何援助将不胜感激。

4

1 回答 1

3

虽然已经晚了,但我只是按照您的要求回答了您的问题。你为什么不试试这段代码片段:

Server srvMgmtServer = default(Server);
srvMgmtServer = new Server("LAPTOP\\SQLEXPRESS");
ServerConnection srvConn = default(ServerConnection);
srvConn = srvMgmtServer.ConnectionContext;
srvConn.LoginSecure = true;

foreach(Database db in srvMgmtServer.Databases;
{
    Console.WriteLine(db.Name);
}
于 2012-10-30T08:27:05.693 回答