Bonjour,
dans une application que je suis entrain de développer, j'ai besoin de récupérer la liste des relations entre les tables d'une base de données sql server.
Pour ce faire, j'utilise les classes 'Table', 'TableCollection' et les champs 'ForeignKeys'(classe 'Table'), 'referencedTable'(classe 'Table') et 'fkColumn' (classe 'ForeignKeyColumn').
(Tout ces éléments étant présent dans la librairie 'Microsoft.SqlServer.Management.Smo').
Pour cela pas de problèmes, je récupère toutes les relations correctement. Le problème, vient en fait que certaines relations dans ma base de données sont traitées par des Triggers. Et là ça se corse sérieusement. Il y a bien sur le champs 'Triggers' (classe 'Table'), mais dans les propriétés de celui-ci, je ne peux récupérer que le nom. Or je voudrais pouvoir faire comme précédement, et donc récupérer, la table sur lequel agit le trigger. Mais à ma connaissance, cet info n'est stockée que dans le texte du trigger (le champs 'textBody' je crois), et n'est donc pas exploitable.
Ma question est donc, y a-t-il un moyen de récupérer le nom de la table sur lequel agit un trigger d'une autre façon?
J'utilise sql server 2005, visual studio 2008, en C# avec le framework . NET 3.5.
Merci d'avance.
Partager