我使用以下命令获取数据库名称:
SqlDataSourceEnumerator sdse = SqlDataSourceEnumerator.Instance;
DataTable table = sdse.GetDataSources();
然后使用下面我得到db的列表。
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();
}
}
问题是我只获得系统数据库,没有其他系统数据库,即使它们存在。我不知道要改变什么来获取所有数据库的信息。任何帮助将不胜感激。
TH
答案 0 :(得分: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);
}