Printing all tables in a database with Management.Smo
The Microsoft.SqlServer.Management.Smo namespace and assembly is used by Management Studio for its interogation of the database. If you have Management Studio installed you can use this in your own applications, a simple example of which is shown below.
// From microsoft.sqlserver.smo.dll
using Microsoft.SqlServer.Management.Smo;
void PrintTables()
{
Server server = new Server("(local)");
server.ConnectionContext.ConnectAsUserName = "sa";
server.ConnectionContext.ConnectAsUserPassword = "Passw0rd";
Database db = server.Databases["mydatabase"];
foreach (Table table in db.Tables)
{
Console.WriteLine(string.Format("[{0}]",table.Name));
foreach (Column column in table.Columns)
{
Console.WriteLine(string.Format("\t{0} {1} {2} {3}",
column.Name,
column.DataType.Name,
column.Default,
column.DataType.MaximumLength));
}
Console.WriteLine("");
}
Console.Read();
}
Last updated on 03 March 2010
Comments
blog comments powered by