Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment obtenir le schéma de base de données d'une procédure stockée

Je ne connais pas Enterprise Library mais avec ADO.NET simple, le code serait similaire à ce qui suit

//assume an open connection
using(connection)
{
    using (DbCommand command = connection.CreateCommand())
    {
        command.CommantText = "procedure name";
        //setup and add parameters.
        SqlParameter parameter = command.CreateParameter();
        parameter.Name = "param name";
        //set the mode - out/inputOutput etc
        //set the size
        //set value to DBNull.Value

        //execute the stored procedure with SchemaOnly parameter
        var reader = command.ExecuteReader(CommandBehavior.SchemaOnly);
        var table = reader.GetSchemaTable();
     }
}

Vous pouvez ensuite analyser le DataTable pour obtenir des informations détaillées sur l'ensemble de résultats.

Vous pouvez bien entendu utiliser des types génériques dans le code ci-dessus - DbCommand, DbParameter etc. P>