It can be done easily with the GetSchema method on a SqlConnection instance:
protected string ServerConnectionString
{
get
{
return "Data Source=(local)\\SQLEXPRESS;;Integrated Security=SSPI;";
}
}
protected string[] GetDatabaseList()
{
List<string> databases = new List<string>();
using (SqlConnection sqlConx = new SqlConnection(ServerConnectionString))
{
sqlConx.Open();
DataTable tblDatabases = sqlConx.GetSchema("Databases");
sqlConx.Close();
foreach (DataRow row in tblDatabases.Rows)
{
databases.Add(row["database_name"].ToString());
}
}
return databases.ToArray();
}
Here is a post of David Hayden detailing all the possibility of database reflection exposed by this method:
http://www.davidhayden.com/blog/dave/archive/2006/01/15/2734.aspx

0 comments:
Post a Comment