21/05/2010

Afficher le modèle de données d'une base SQL Server

Voici un exemple minimaliste de code pour afficher le modèle de données des tables d’une base SQL server.

Assembly :
C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfo.dll
C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Smo.dll
C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Management.Sdk.Sfc.dll

Code sources:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string sServerName = "MonServeur";
string sDatabaseName = "MaBase";

ServerConnection conn = new ServerConnection(sServerName);
conn.LoginSecure = false;
conn.Login = "sa";
Server server = new Server(conn);
Database database = server.Databases[sDatabaseName];

Console.Write("Server : {0}\n",sServerName);
Console.Write("Database : {0}\n", sDatabaseName);
Console.Write("Liste des tables de la base\n");
string sOutputformat = "\t{0,-20} {1,-13} {2,-13} {3,-20}\n";
foreach (Table tbl in database.Tables)
{
Console.Write("\nTable Name : {0}\n", tbl.Name.ToUpper());
Console.Write(sOutputformat, "Column Name", "InPrimaryKey ", "IsForeignKey ", "DataType");
foreach (Column col in tbl.Columns)
{
Console.Write(sOutputformat, col.Name, col.InPrimaryKey, col.IsForeignKey, col.DataType.Name);
}
}
Console.ReadKey();

}
}
}

6 commentaires:

Anonyme a dit…

Thanks for sharing the link, but unfortunately it seems to be offline... Does anybody have a mirror or another source? Please answer to my message if you do!

I would appreciate if someone here at fberton.blogspot.com could post it.

Thanks,
Thomas

Anonyme a dit…

Hi,

Thanks for sharing this link - but unfortunately it seems to be down? Does anybody here at fberton.blogspot.com have a mirror or another source?


Thanks,
Peter

Anonyme a dit…

Hi there,

Thanks for sharing this link - but unfortunately it seems to be down? Does anybody here at fberton.blogspot.com have a mirror or another source?


Thanks,
Thomas

Anonyme a dit…

Merci d'avoir un blog interessant

Anonyme a dit…

tres interessant, merci

Anonyme a dit…

Lek skutkuje [url=http://www.ninaricci.pl]Perfumeria internetowa[/url] zmniejszenie asymilowania podwaliny tluszczowych przez cz³owieczy istota. To doskonale nieznany medykament w celu panien, jakie potrzebuj¹ odchudziæ siê tudzie¿ pokonaæ na ulepszony ruch posi³ków. Panaceum ów umo¿liwia zwiêkszyæ skutecznoœæ odchudzania o 45 % w zestwieniu spoœród wdro¿eniem [url=http://www.perfumeria.rel.pl]Perfumeria internetowa[/url] zaledwie diety natomiast æwiczeñ fizycznych. Lek tamten zakupisz w aptece internetowej. Zapraszamy do rezolutnej online taniej apteki internetowej po medykamenty oraz po informacje o koncentratach. Sterty tym samym alli Zachwalamy tym¿e krain¹ cenê œrodków i naprawdê w³oœci¹ satysfakcjê zwiedzaj¹cych stronê. Apteka internetowa istnieje jak¹œ spoœród siedmiu w najwiêkszym stopniu odrêbnych zaœ znamienitych siê portali zapewniaj¹cych dostarczanie towarów farmacetycznych.Musimy pokazaæ chwilowo trzy modele prepratów. Nasza apteka o jakiej piszemy dzia³a w sposób bezusterkowy i wydziela [url=http://www.perfumeria.atm.pl]Perfumeria[/url] farmaceutyki w przeci¹gu skoro tylko jednego dnia od chwili momentu skonstruowania twojego zainteresowania. Przed chwil¹ z tamtego uzyskuje rozrywkowe [url=http://www.hotelmorskieoko.pl/uroda-i-zdrowie/perfumy/perfumeria.html]Perfumeria internetowa[/url] krytyki pacjentów. Na wiotki brzuszekJest mnogoœæ apendyksów diety na wyszczuplenie. A¿ do konstytutywnych nale¿¹ te zawieraj¹ce w magazynie l-karnitynê, tymczasem rzeczwiœcie wypróbowanym zaœ natomiast udowodnionym postêpowaniem mo¿e pochwaliæ siê wy³¹cznie alli posiadaj¹cy tzw.orlistat.Dieta natomiast natomiast praktyka fizyczne w sporym szczeblu decyduj¹ o dobrym zgonieniu [url=http://www.perfumeryjna.pl]Perfumeria[/url] gramatury.Na menopauzêMenopauza jest kiedy niekiedy, jak krwawienie koñczy, natomiast jajniki ostatecznie przestaj¹ wyzwalaæ jajeczka. Na menopazuê efektywne s¹ takie preparaty kiedy diohespan max, diosminex obejmuj¹ce diosminê. Okres menopauzy choæ nie konotuje gwoli fizjonomii pieknej katastrofy i nale¿y spoœród ni¹ siê zmierzyæ.