Obtenir le schéma d'une table
Donné un objet SQLConnection comment pouvez-vous obtenir un schéma pour une seule table?
J'ai essayé l'autre jour et il me semblait être en mesure d'obtenir le schéma à partir d'un jeu de données qui j'avais obtenu à partir de l'exécution d'une requête, mais toutes les informations de schéma que j'ai pu obtenir à partir de la connexion semble être liée à ce que les tables étaient disponibles et non les détails réels sur les tables.
Je suis sûr qu'il y est une façon simple de le faire.
OriginalL'auteur Omar Kooheji | 2008-10-06
Vous devez vous connecter pour publier un commentaire.
Je pense que l'accès le schéma à partir de la requête (via GetSchemaTable) est la seule façon de le faire.
Vous pouvez exécuter une requête qui ne retourne aucune ligne (select * from table where 1=2) si le schéma est tout ce qui vous intéresse.
Vous devez utiliser le KeyInfo CommandBehaviour pour exécuter la requête source, sinon pas de toutes les informations renvoyées est garanti pour être exact
OriginalL'auteur
Ce code va faire ce que vous voulez (bien évidemment changer le nom de la table, le nom du serveur, etc):
OriginalL'auteur Mitch Wheat
SQL Server - interroger le catalogue de points de vue... sysobjects, syscolumns etc si SQL 2000 ou une version antérieure... sys.objets, sys.les colonnes etc si SQL 2005 ou plus. (bien que les anciennes vues sont encore disponibles, il est conseillé d'utiliser le plus récent)
Référence complète ici:
http://msdn.microsoft.com/en-us/library/ms189783.aspx
Exemple:
OriginalL'auteur KristoferA