Thursday
Feb182010
Printing all tables in a database with Management.Smo
Thursday, February 18, 2010 at 5:26PM 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();
}






Reader Comments