Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come ottenere lo schema del database di una stored procedure

Non sono a conoscenza di Enterprise Library ma con ADO.NET semplice il codice sarebbe simile al seguente

//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();
     }
}

È quindi possibile analizzare DataTable per informazioni dettagliate sul set di risultati.

Ovviamente puoi usare tipi generici nel codice sopra - DbCommand, DbParameter ecc. La mia ipotesi è che con Enterprise Library dovresti sostanzialmente fare lo stesso:eseguire la stored procedure come faresti normalmente tranne con l'impostazione "SchemaOnly".